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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4c9746
add esp, 0xffffff80
mov eax, dword [esp + 0x8c]
cmp eax, 2
jl 0x4c96eb
mov ecx, eax
sar eax, 0x1f
shr eax, 0x1d
add eax, ecx
sar eax, 3
shl eax, 3
mov edx, ecx
sub ecx, eax
test ecx, ecx
jne 0x4c96e4
mov eax, 8
mov dword [esp + 0x40], eax
lea ecx, [0x53b4c0]
mov dword [esp], ecx
lea ecx, [edx + 7]
sar ecx, 0x1f
shr ecx, 0x1d
lea ecx, [ecx + edx + 7]
sar ecx, 3
mov dword [esp + 0x3c], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00440360
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
lea ecx, [0x543840]
mov dword [esp], ecx
call fcn.0040a710
mov eax, dword [esp + 4]
mov dword [esp + 0x60], eax
mov byte [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
jmp 0x4c949a
mov edx, dword [esp + 0x4c]
inc edx
mov eax, ebx
mov ecx, dword [esp + 0x68]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x2c]
movzx edi, byte [esp + 0x27]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x4c]
cmp edi, ebp
jge 0x4c93f2
movzx edx, byte [ecx + edi]
mov dword [esp + 0x48], edx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.00450ab0
mov eax, dword [esp + 0x10]
test eax, eax
sete al
mov ecx, dword [esp + 0x14]
test ecx, ecx
sete cl
and ecx, eax
test cl, cl
je 0x4c93de
mov eax, dword [esp + 0x8c]
cmp eax, 6
jg 0x4c9356
mov ecx, dword [esp + 0x54]
test ecx, ecx
setne dl
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x48]
cmp ebx, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4c92b8
mov ebp, dword [esp + 0x28]
add ebp, 2
mov ebx, dword [esp + 0x2c]
adc ebx, 0
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov eax, esi
mov ecx, edi
mov edx, ebp
test ebx, ebx
xchg ebp, ebx
setb bl
xchg ebp, ebx
cmp edx, 0x100000
xchg esi, ebx
setb bl
xchg esi, ebx
test ebx, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
and esi, edi
or ebp, esi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4c940d
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ebx
xchg edi, eax
mov byte [esp + 0x27], al
xchg edi, eax
add eax, edx
mov dword [esp + 0x38], eax
mov esi, ebx
adc ebx, ecx
mov dword [esp + 0x54], ebx
mov ecx, dword [0x666670]
mov dword [esp + 0x68], ecx
mov ebp, dword [0x666674]
mov dword [esp + 0x50], ebp
mov dword [esp + 0x58], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
jmp 0x4c92dc
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x38]
jmp 0x4c92b8
test edx, edx
seta al
test esi, esi
seta cl
movzx ebx, byte [esp + 0x27]
and ebx, eax
or ebx, ecx
test bl, bl
jne 0x4c9622
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.004c6b90
movzx eax, byte [esp + 8]
test al, al
je 0x4c960c
mov edx, dword [esp + 0x60]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
lea esi, [ebx - 1]
test esi, esi
jl 0x4c95ff
mov ebx, dword [ebp + ebx*4 - 4]
nop
cmp ebx, 0x10000
jb 0x4c95f8
shr ebx, 0x10
mov eax, 0x10
cmp ebx, 0x100
jb 0x4c95f1
shr ebx, 8
lea ebp, [eax + 8]
cmp ebx, 0x100
jae 0x4c9730
shl esi, 5
lea eax, [0x64f440]
movzx ecx, byte [eax + ebx]
add ecx, ebp
add ecx, esi
mov ebx, dword [esp + 0x8c]
cmp ecx, ebx
je 0x4c95d0
nop
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.00487640
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test eax, eax
jne 0x4c96c7
mov edx, dword [esp + 0x3c]
test edx, edx
jbe 0x4c973c
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], ecx
mov ebx, dword [esp + 0x40]
cmp ebx, 0x20
sbb ebp, ebp
mov esi, dword [esp + 0x6c]
movzx edi, byte [esi]
mov ecx, ebx
mov eax, 1
shl eax, cl
and eax, ebp
dec eax
and eax, edi
mov byte [esi], al
cmp ecx, 2
jb 0x4c96aa
lea ebp, [ecx - 2]
cmp ebp, 0x20
sbb edi, edi
mov ecx, ebp
mov ebx, 3
shl ebx, cl
and ebx, edi
or ebx, eax
mov byte [esi], bl
movzx eax, byte [edx + esi - 1]
or eax, 1
mov byte [edx + esi - 1], al
nop
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 8]
mov ebp, dword [eax + 4]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
call fcn.004c48a0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x60]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
mov eax, dword [0x67bf10]
test eax, eax
jne 0x4c969b
mov dword [ebx + 4], edx
mov byte [ebx], 0
lea eax, [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ecx, dword [0x66a178]
mov dword [esp + 8], ecx
call fcn.004b8e00
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
test ecx, ecx
jne 0x4c9681
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
xor edx, edx
xor ebx, ebx
jmp 0x4c9372
mov dword [esp + 0x90], edx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
mov ebp, eax
jmp 0x4c946e
xor eax, eax
jmp 0x4c945c
lea eax, [0x64f440]
xor ecx, ecx
jmp 0x4c948b
lea eax, [0x64f440]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x8c]
jmp 0x4c949a
nop
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.004bc660
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x74], edx
mov byte [esp + 0x70], 0
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], eax
lea ecx, [esp + 0x70]
mov dword [esp + 8], ecx
call fcn.004b8600
jmp 0x4c940d
mov edx, dword [eax]
cmp ecx, 1
jle 0x4c9692
mov ecx, dword [eax + 4]
mov eax, edx
jmp 0x4c95bf
mov eax, edx
xor ecx, ecx
jmp 0x4c95bf
lea edi, [ebx + 4]
mov eax, edx
call fcn.00455bf0
jmp 0x4c958e
or eax, 1
mov byte [esi], al
cmp edx, 1
jle 0x4c9531
movzx eax, byte [esi + 1]
or eax, 0xffffff80
mov byte [esi + 1], al
jmp 0x4c9531
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
sub esp, 0xffffff80
ret
mov eax, ecx
jmp 0x4c924a
nop
lea eax, [0x53ff20]
mov dword [esp], eax
call fcn.0040a710
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2e
lea ecx, [0x564d8a]
mov dword [eax], ecx
mov dword [esp + 0x90], 0
lea ecx, [0x58a9f0]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
sub esp, 0xffffff80
ret
mov eax, ebx
mov ecx, 0x100
call fcn.00455c80
xor eax, eax
mov ecx, edx
call fcn.00455c70
nop
call fcn.004543b0
jmp fcn.004c9200