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

Disassembly:
mov ecx, dword [0x5f91cc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4c3851
sub esp, 0x5c
lea eax, [0x4df240]
mov dword [esp], eax
call fcn.0040c850
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x12
mov dword [esp + 0x10], 0x400
mov dword [esp + 0x14], 0x12
call fcn.0046a8f0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4c3161
mov ecx, dword [esp + 0x20]
cmp dword [0x5b50f0], eax
jne 0x4c3122
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x34], eax
mov edx, dword [0x5b50f4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00404a30
movzx eax, byte [esp + 0xc]
test al, al
je 0x4c311a
mov eax, dword [0x5b50f8]
mov ecx, dword [0x5b50fc]
jmp 0x4c3122
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x5c
ret
mov ebx, dword [esp + 0x58]
cmp word [ebx], 0x4d42
jne 0x4c3673
mov ebp, dword [ebx + 0xe]
nop
nop
mov esi, dword [ebx + 0xa]
cmp ebp, 0x28
je 0x4c31d2
cmp ebp, 0x6c
je 0x4c31d2
cmp ebp, 0x7c
je 0x4c31d2
mov eax, dword [0x5b5120]
mov ecx, dword [0x5b5124]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x5c
ret
lea ecx, [ebp + 0xe]
cmp ecx, 0x400
ja 0x4c3846
cmp ecx, 0x12
jb 0x4c383c
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebp
lea eax, [ebp - 4]
lea ecx, [ebx + 0x12]
mov edx, dword [esp + 0x60]
mov dword [esp], edx
mov esi, dword [esp + 0x64]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x3ee
mov dword [esp + 0x14], eax
call fcn.0046a8f0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4c32b8
mov ecx, dword [esp + 0x20]
cmp dword [0x5b50f0], eax
jne 0x4c3279
mov dword [esp + 0x48], ecx
mov dword [esp + 0x30], eax
mov edx, dword [0x5b50f4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00404a30
movzx eax, byte [esp + 0xc]
test al, al
je 0x4c3271
mov eax, dword [0x5b50f8]
mov ecx, dword [0x5b50fc]
jmp 0x4c3279
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x5c
ret
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x16]
nop
nop
test ecx, ecx
jge 0x4c32cb
mov edx, ecx
neg edx
jmp 0x4c32cd
mov edx, ecx
mov ebx, dword [eax + 0x12]
test ebx, ebx
jl 0x4c32d8
test edx, edx
jge 0x4c3323
mov eax, dword [0x5b5120]
mov ecx, dword [0x5b5124]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x5c
ret
mov ebp, dword [eax + 0x1e]
nop
nop
nop
cmp ebp, 3
jne 0x4c335f
mov esi, dword [esp + 0x3c]
cmp esi, 0x28
jbe 0x4c3363
cmp dword [eax + 0x36], 0xff0000
jne 0x4c3363
cmp dword [eax + 0x3a], 0xff00
jne 0x4c3363
cmp dword [eax + 0x3e], 0xff
jne 0x4c3363
cmp dword [eax + 0x42], 0xff000000
jne 0x4c3363
xor ebp, ebp
jmp 0x4c3363
mov esi, dword [esp + 0x3c]
cmp word [eax + 0x1a], 1
jne 0x4c336e
test ebp, ebp
je 0x4c33b9
mov eax, dword [0x5b5120]
mov ecx, dword [0x5b5124]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x5c
ret
test ecx, ecx
setl cl
movzx ebp, word [eax + 0x1c]
cmp bp, 8
jne 0x4c34e2
lea ebp, [esi + 0x40e]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jne 0x4c3497
mov byte [esp + 0x2b], cl
mov dword [esp + 0x44], ebx
mov dword [esp + 0x2c], edx
nop
mov ecx, dword [esp + 0x60]
mov dword [esp], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x400
mov dword [esp + 0x10], 0x400
mov dword [esp + 0x14], 0x400
call fcn.0046a8f0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x4c3454
lea eax, [0x4e2c20]
mov dword [esp], eax
mov dword [esp + 4], 0x100
mov dword [esp + 8], 0x100
call fcn.0044a780
mov eax, dword [esp + 0xc]
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x58]
xor edx, edx
jmp 0x4c36e6
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x5c
ret
mov eax, dword [0x5b5120]
mov ecx, dword [0x5b5124]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x5c
ret
cmp bp, 0x18
jne 0x4c3585
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
cmp eax, ebp
je 0x4c3543
mov eax, dword [0x5b5120]
mov ecx, dword [0x5b5124]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x5c
ret
mov eax, dword [0x5b5130]
mov ebp, dword [0x5b5134]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], 0x18
mov byte [esp + 0x7c], cl
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x5c
ret
cmp bp, 0x20
jne 0x4c3628
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x44]
cmp eax, ebp
je 0x4c35e6
mov eax, dword [0x5b5120]
mov ecx, dword [0x5b5124]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x5c
ret
mov eax, dword [0x5b5130]
mov ebp, dword [0x5b5134]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], 0x20
mov byte [esp + 0x7c], cl
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x5c
ret
mov eax, dword [0x5b5120]
mov ecx, dword [0x5b5124]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x5c
ret
lea eax, [0x4e3100]
mov dword [esp], eax
call fcn.0040c850
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x13
lea ecx, [0x4f7643]
mov dword [eax], ecx
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x7c], 0
lea ecx, [0x51c974]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x5c
ret
mov dword [edx], ebx
lea edx, [eax + 1]
mov ebx, dword [esp + 0x58]
mov eax, ecx
mov ecx, ebx
cmp edx, 0x100
jge 0x4c37b3
mov dword [esp + 0x27], 0
mov ebx, edx
shl edx, 2
lea ebp, [edx + 2]
cmp ebp, 0x400
jae 0x4c3830
lea ebp, [ecx + ebx*4 + 2]
movzx ebp, byte [ebp]
xchg ebp, eax
mov byte [esp + 0x27], al
xchg ebp, eax
lea ebp, [edx + 1]
cmp ebp, 0x400
jae 0x4c3824
lea ebp, [ecx + ebx*4 + 1]
movzx ebp, byte [ebp]
xchg ebp, eax
mov byte [esp + 0x28], al
xchg ebp, eax
cmp edx, 0x400
jae 0x4c3818
mov dword [esp + 0x38], ebx
lea edx, [eax + ebx*8]
mov dword [esp + 0x50], edx
lea ebp, [ecx + ebx*4]
movzx ebp, byte [ebp]
xchg ebp, eax
mov byte [esp + 0x29], al
xchg ebp, eax
mov byte [esp + 0x2a], 0xff
lea ebp, [0x4ea300]
mov dword [esp], ebp
lea esi, [esp + 0x27]
mov dword [esp + 4], esi
call fcn.00409f10
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x54]
lea edx, [ecx + eax*8 + 4]
mov ebx, dword [esp + 8]
lea ebp, [0x51c938]
mov esi, dword [esp + 0x50]
mov dword [esi], ebp
mov esi, dword [0x5f9270]
test esi, esi
je 0x4c36d9
call fcn.004630b0
mov dword [edi], ebx
mov esi, dword [edx]
mov dword [edi + 4], esi
jmp 0x4c36d9
mov dword [esp], eax
mov dword [esp + 4], 0x100
mov dword [esp + 8], 0x100
call fcn.0040a160
mov eax, dword [esp + 0xc]
lea ecx, [0x51c9d8]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 8
movzx eax, byte [esp + 0x2b]
mov byte [esp + 0x7c], al
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
add esp, 0x5c
ret
mov eax, edx
mov ecx, 0x400
call fcn.00463120
mov eax, ebp
mov ecx, 0x400
call fcn.00463120
mov eax, ebp
mov ecx, 0x400
call fcn.00463120
mov eax, 0x12
call fcn.00463180
mov edx, 0x400
call fcn.00463150
nop
call fcn.00461ca0
jmp fcn.004c3070