Function at 0x5c6840
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x38]
cmp eax, dword [ecx + 8]
jbe 0x5c7176
sub esp, 0xb8
mov edx, dword [esp + 0xbc]
mov dword [edx + 0x40], 0
movzx ebx, byte [edx + 0x30]
test bl, bl
je 0x5c6954
mov byte [edx + 0x30], 0
mov ebx, dword [edx + 0x28]
cmp dword [edx + 0x20], ebx
jbe 0x5c6d80
mov dword [esp + 0x50], ebx
cmp ebx, 0x1f
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov eax, dword [edx + 0x40]
mov dword [esp + 0x74], eax
mov ecx, ebx
mov ebx, dword [edx + 0x44]
mov esi, edx
mov edx, dword [edx + 0x3c]
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c68fd
lea ebp, [eax + 1]
cmp ebx, ebp
jae 0x5c68f5
lea ecx, [0x634640]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0xbc]
mov byte [edx + eax], cl
jmp 0x5c7138
lea ebp, [eax + 1]
cmp ebx, ebp
jae 0x5c6940
lea ecx, [0x634640]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0xbc]
add ecx, 0xffffffe1
mov byte [edx + eax], 0x1f
mov edi, 0xffffffff
adc edi, 0
jmp 0x5c7021
mov dword [esp], edx
lea edi, [esp + 4]
lea esi, [esp + 0xc0]
call fcn.0045fb1e
call fcn.005c7180
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
movzx ecx, byte [esp + 0x20]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x40], edx
test cl, cl
je 0x5c6a4b
cmp edx, 0x7f
setb bl
test eax, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0xbc]
mov ecx, edx
mov edx, dword [esi + 0x40]
mov dword [esp + 0x64], edx
mov edi, edx
mov edx, dword [esi + 0x44]
mov esi, dword [esi + 0x3c]
and ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5c6a07
lea ebx, [edi + 1]
cmp edx, ebx
jae 0x5c69f8
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x64]
add ecx, 0xffffff81
mov byte [esi + edi], 0x7f
adc eax, 0xffffffff
jmp 0x5c6c87
lea ebx, [edi + 1]
cmp edx, ebx
jae 0x5c6a43
lea eax, [0x634640]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [eax + 1]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x64]
mov byte [esi + edi], cl
jmp 0x5c6c20
lea edi, [esp + 0xa4]
lea esi, [esp + 0xc0]
call fcn.0045fb1e
movzx ecx, byte [esp + 0xb4]
test cl, cl
je 0x5c6a75
mov ebx, dword [esp + 0xbc]
xor ecx, ecx
jmp 0x5c6aa6
lea edi, [esp + 0x90]
lea esi, [esp + 0xc0]
call fcn.0045fb1e
mov ecx, dword [esp + 0x94]
add ecx, dword [esp + 0x9c]
add ecx, 0x20
mov ebx, dword [esp + 0xbc]
cmp dword [ebx + 0x20], ecx
setae cl
mov byte [esp + 0x3b], cl
test cl, cl
je 0x5c6ada
mov dword [esp], ebx
lea edi, [esp + 4]
lea esi, [esp + 0xc0]
call fcn.0045fb1e
call fcn.005c7f10
mov eax, dword [esp + 0x44]
movzx ecx, byte [esp + 0x3b]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0xbc]
test edx, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
test eax, eax
mov esi, edx
sete dl
and edx, ebp
test dl, dl
je 0x5c6b54
mov eax, dword [ebx + 0x3c]
mov edx, dword [ebx + 0x40]
mov ebp, dword [ebx + 0x44]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
lea edi, [esp + 0xc]
lea esi, [esp + 0xc0]
call fcn.0045fb1e
movzx eax, byte [esp + 0x3b]
mov byte [esp + 0x20], al
call fcn.005c7290
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0xbc]
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], edx
mov ecx, dword [0x84e4b0]
test ecx, ecx
jne 0x5c6b4a
mov dword [ebx + 0x3c], eax
jmp 0x5c6bc0
lea edi, [ebx + 0x3c]
call fcn.0045f3a0
jmp 0x5c6bc0
mov edx, dword [ebx + 0x3c]
mov ebp, dword [ebx + 0x40]
mov ebx, dword [ebx + 0x44]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
lea edi, [esp + 0xc]
mov ebx, esi
lea esi, [esp + 0xc0]
call fcn.0045fb1e
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ebx
movzx eax, byte [esp + 0x3b]
mov byte [esp + 0x28], al
call fcn.005c73a0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0xbc]
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], edx
mov ecx, dword [0x84e4b0]
test ecx, ecx
jne 0x5c6bb8
mov dword [ebx + 0x3c], eax
jmp 0x5c6bc0
lea edi, [ebx + 0x3c]
call fcn.0045f3a0
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x38]
mov eax, dword [eax + 0x10]
mov edx, dword [ebx + 0x3c]
mov ebp, dword [ebx + 0x40]
mov esi, dword [ebx + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test ecx, ecx
jne 0x5c6c0b
mov ebx, dword [esp + 0xbc]
cmp dword [ebx + 0x40], eax
je 0x5c6c0b
mov ecx, dword [0x826e60]
mov edx, dword [0x826e64]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], edx
add esp, 0xb8
ret
cmp ebx, edi
jbe 0x5c6c5b
movzx ecx, byte [esi + edi]
or ecx, 0xffffff80
mov byte [esi + edi], cl
mov ecx, dword [esp + 0xbc]
mov dword [ecx + 0x40], ebx
mov dword [ecx + 0x44], edx
mov edx, dword [0x84e4b0]
test edx, edx
jne 0x5c6c4a
mov dword [ecx + 0x3c], esi
jmp 0x5c6c54
lea edi, [ecx + 0x3c]
mov eax, esi
call fcn.0045f3a0
mov ebx, ecx
jmp 0x5c6bc0
mov eax, edi
mov ecx, ebx
call fcn.0045f420
and ecx, 0x7f
or ecx, 0x80
mov byte [esi + ebx], cl
mov ecx, dword [esp + 0x48]
shr ecx, 7
mov ebx, eax
shl eax, 0x19
or ecx, eax
shr ebx, 7
mov eax, ebx
mov ebx, edx
mov edx, ebp
mov dword [esp + 0x48], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x84], esi
test eax, eax
xchg ebp, ebx
seta bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ecx, 0x80
setae dl
and edx, esi
or edx, ebp
test dl, dl
je 0x5c6d1e
lea edx, [ebx + 1]
mov ebp, dword [esp + 0x78]
cmp ebp, edx
jb 0x5c6ccf
mov esi, dword [esp + 0x84]
jmp 0x5c6c64
mov dword [esp + 0x54], eax
lea eax, [0x634640]
mov dword [esp], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov ebp, edx
mov edx, eax
mov eax, dword [esp + 0x54]
jmp 0x5c6c64
lea edx, [ebx + 1]
mov ebp, dword [esp + 0x78]
cmp ebp, edx
jb 0x5c6d32
mov esi, dword [esp + 0x84]
jmp 0x5c6d74
lea eax, [0x634640]
mov dword [esp], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004484a0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov ebp, edx
mov edx, eax
mov byte [esi + ebx], cl
mov ebx, edx
mov edx, ebp
jmp 0x5c6c20
mov dword [edx + 0x28], 0xffffffff
mov ebx, dword [edx + 0x20]
mov dword [esp + 0x3c], ebx
cmp ebx, 0x1f
xchg ebp, ebx
setb bl
xchg ebp, ebx
mov eax, dword [edx + 0x40]
mov dword [esp + 0x6c], eax
mov ecx, ebx
mov ebx, dword [edx + 0x44]
mov esi, edx
mov edx, dword [edx + 0x3c]
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5c6e09
lea ebp, [eax + 1]
cmp ebx, ebp
jae 0x5c6df5
lea ecx, [0x634640]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0xbc]
add ecx, 0xffffffe1
mov byte [edx + eax], 0x1f
mov edi, 0xffffffff
adc edi, 0
jmp 0x5c6ecb
lea ebp, [eax + 1]
cmp ebx, ebp
jae 0x5c6e4c
lea ecx, [0x634640]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004484a0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ebp, [eax + 1]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0xbc]
mov byte [edx + eax], cl
cmp ebp, eax
jbe 0x5c6e83
movzx ecx, byte [edx + eax]
or ecx, 0x20
mov byte [edx + eax], cl
mov dword [esi + 0x40], ebp
mov dword [esi + 0x44], ebx
mov ecx, dword [0x84e4b0]
test ecx, ecx
jne 0x5c6e72
mov dword [esi + 0x3c], edx
jmp 0x5c6e7c
lea edi, [esi + 0x3c]
mov eax, edx
call fcn.0045f3a0
mov edx, esi
jmp 0x5c6954
mov ecx, ebp
call fcn.0045f420
and ecx, 0x7f
or ecx, 0x80
mov esi, dword [esp + 0x88]
mov byte [esi + edx], cl
mov ecx, dword [esp + 0x4c]
shr ecx, 7
mov edx, edi
shl edi, 0x19
or ecx, edi
shr edx, 7
mov esi, dword [esp + 0xbc]
mov edi, edx
mov edx, dword [esp + 0x88]
mov edx, ebx
mov ebx, ebp
mov ebp, edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x68], ebp
mov dword [esp + 0x88], edx
mov dword [esp + 0x4c], ecx
cmp ecx, 0x80
setae dl
test edi, edi
sete bl
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebx, edx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c6f6d
mov edx, dword [esp + 0x68]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
jae 0x5c6e8a
mov dword [esp + 0x58], edi
lea eax, [0x634640]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004484a0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x88], edx
mov ebp, ebx
mov edx, dword [esp + 0x68]
mov ebx, eax
mov eax, dword [esp + 0x6c]
jmp 0x5c6e8a
mov edx, dword [esp + 0x68]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
jb 0x5c6f85
mov edi, dword [esp + 0x88]
jmp 0x5c6fd0
lea eax, [0x634640]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004484a0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0xbc]
mov edi, edx
mov ebp, ebx
mov edx, dword [esp + 0x68]
mov ebx, eax
mov eax, dword [esp + 0x6c]
mov byte [edi + edx], cl
mov edx, edi
mov ecx, ebp
mov ebp, ebx
mov ebx, ecx
jmp 0x5c6e4f
and ecx, 0x7f
or ecx, 0x80
mov esi, dword [esp + 0x8c]
mov byte [esi + edx], cl
mov ecx, dword [esp + 0x50]
shr ecx, 7
mov edx, edi
shl edi, 0x19
or ecx, edi
shr edx, 7
mov esi, dword [esp + 0xbc]
mov edi, edx
mov edx, dword [esp + 0x8c]
mov edx, ebp
mov ebp, ebx
mov ebx, edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x8c], edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x80], ebx
cmp ecx, 0x80
setae dl
test edi, edi
seta bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, edx
or ebx, ebp
test bl, bl
je 0x5c70c7
mov edx, dword [esp + 0x70]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x80]
cmp ebp, ebx
jae 0x5c6fe0
mov dword [esp + 0x5c], edi
lea eax, [0x634640]
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004484a0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x8c], edx
mov ebp, ebx
mov edx, dword [esp + 0x70]
mov ebx, eax
mov eax, dword [esp + 0x74]
jmp 0x5c6fe0
mov edx, dword [esp + 0x70]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x80]
cmp ebp, ebx
jb 0x5c70e2
mov edi, dword [esp + 0x8c]
jmp 0x5c712d
lea eax, [0x634640]
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.004484a0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0xbc]
mov edi, edx
mov ebp, ebx
mov edx, dword [esp + 0x70]
mov ebx, eax
mov eax, dword [esp + 0x74]
mov byte [edi + edx], cl
mov edx, edi
mov ecx, ebp
mov ebp, ebx
mov ebx, ecx
cmp ebp, eax
jbe 0x5c716e
mov ecx, ebx
movzx ebx, byte [edx + eax]
or ebx, 0x20
mov byte [edx + eax], bl
mov dword [esi + 0x40], ebp
mov dword [esi + 0x44], ecx
mov ebx, dword [0x84e4b0]
test ebx, ebx
jne 0x5c715d
mov dword [esi + 0x3c], edx
jmp 0x5c7167
lea edi, [esi + 0x3c]
mov eax, edx
call fcn.0045f3a0
mov edx, esi
jmp 0x5c6d80
mov ecx, ebp
call fcn.0045f420
nop
call fcn.0045df90
jmp fcn.005c6840