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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0xc]
cmp dword [ecx + 8], 0
mov dword [ecx + 8], 0
je 0x4c0d78
push eax
call fcn.005331c4
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 1
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 1
mov dword [esp + 0x40], 0
mov dword [esp + 0x4c], 0
mov esi, dword [ecx + 0x14]
mov eax, dword [ecx + 0x18]
cmp dword [ecx + 0x10], 0
mov dword [ecx + 0x10], 0
mov edx, dword [ecx + 0x1c]
mov dword [ecx + 0x18], 0
mov dword [esp + 8], edx
je 0x4c0e13
test eax, eax
je 0x4c101a
lea eax, [esp + 0x38]
mov edx, esi
lea ecx, [esp + 0x10]
push eax
call fcn.004cfd10
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 3
jne 0x4c127c
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov edi, esi
shld esi, ebx, 0x18
shr edi, 8
push dword [esp + 8]
call fcn.005331c4
jmp 0x4c1571
test eax, eax
je 0x4c157a
xor edx, edx
mov dword [esp + 0xc], 0
mov dword [esp + 0x34], 0
jmp 0x4c0e4a
call fcn.00533304
mov ebx, eax
push ebx
call fcn.004d5ec0
add esp, 4
cmp al, 0x23
mov edx, edi
jne 0x4c122a
mov esi, edx
sub esi, dword [esp + 0xc]
jne 0x4c0e90
mov ebx, dword [esp + 0x34]
cmp esi, 0x20
jae 0x4c0e79
lea ecx, [esp + 0x44]
push 0x20
call fcn.0049a500
add esp, 4
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
mov esi, edx
mov dword [esp + 0xc], eax
sub esi, eax
mov eax, esi
mov ecx, ebx
sub eax, ebx
jae 0x4c0ea0
jmp 0x4c165f
mov ebx, dword [esp + 0x34]
mov eax, esi
mov ecx, ebx
sub eax, ebx
jb 0x4c165f
mov ebx, dword [esp + 0x48]
mov edi, edx
add ebx, dword [esp + 0xc]
add ecx, ebx
push eax
push 0
push ecx
call fcn.0053b950
add esp, 0xc
xorps xmm0, xmm0
lea eax, [esp + 0x50]
mov dword [esp + 0x50], 0
movaps xmmword [esp + 0x10], xmm0
mov dword [esp + 0x20], eax
push 0x4cfcf0
lea eax, [esp + 0x14]
push eax
push esi
push ebx
push dword [esp + 0x18]
call fcn.005333f4
test eax, eax
je 0x4c0e30
nop dword [eax]
push 1
push 0xffffffffffffffff
call fcn.00533484
cmp dword [esp + 0x50], 1
jne 0x4c0ef0
mov ebx, dword [esp + 0x54]
test ebx, ebx
jne 0x4c0e37
mov eax, dword [esp + 0x58]
cmp esi, eax
mov ecx, eax
cmova ecx, esi
test eax, eax
je 0x4c126d
cmp esi, eax
jb 0x4c16b6
mov esi, dword [esp + 0xc]
sub ecx, eax
mov edx, edi
mov dword [esp + 0x34], ecx
add esi, eax
mov eax, edi
or eax, esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0xc], esi
jne 0x4c0e4a
xorps xmm0, xmm0
lea esi, [esp + 0x6c]
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x10], xmm0
jmp 0x4c0f78
call fcn.00533304
mov ebx, eax
push ebx
call fcn.004d5ec0
add esp, 4
cmp al, 0x23
jne 0x4c122a
xorps xmm0, xmm0
mov dword [esp + 0x6c], 0
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], esi
push 0x4cfcf0
lea eax, [esp + 0x54]
push eax
push 0x20
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
call fcn.005333f4
test eax, eax
je 0x4c0f60
nop word [eax + eax]
push 1
push 0xffffffffffffffff
call fcn.00533484
cmp dword [esp + 0x6c], 1
jne 0x4c0fb0
mov ebx, dword [esp + 0x70]
test ebx, ebx
jne 0x4c0f67
mov ebx, dword [esp + 0x74]
test ebx, ebx
je 0x4c126d
cmp ebx, 0x21
jae 0x4c16c8
xor edx, edx
lea ecx, [esp + 0x44]
push ebx
call fcn.0049a500
add esp, 4
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
add eax, edi
push ebx
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.0053b960
mov edx, esi
add esp, 0xc
add edi, ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x4c], edi
jmp 0x4c0e4a
xor edx, edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0
mov dword [esp + 0x34], 0
jmp 0x4c105a
call fcn.00533304
mov edi, eax
push edi
call fcn.004d5ec0
add esp, 4
cmp al, 0x23
mov edx, ebx
jne 0x4c1261
mov esi, edx
sub esi, dword [esp + 0xc]
jne 0x4c10a0
mov edi, dword [esp + 0x34]
cmp esi, 0x20
jae 0x4c1089
lea ecx, [esp + 0x38]
push 0x20
call fcn.0049a500
add esp, 4
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
mov esi, edx
mov dword [esp + 0xc], eax
sub esi, eax
mov eax, esi
mov ecx, edi
sub eax, edi
jae 0x4c10b0
jmp 0x4c164e
mov edi, dword [esp + 0x34]
mov eax, esi
mov ecx, edi
sub eax, edi
jb 0x4c164e
mov edi, dword [esp + 0x3c]
mov ebx, edx
add edi, dword [esp + 0xc]
add ecx, edi
push eax
push 0
push ecx
call fcn.0053b950
add esp, 0xc
xorps xmm0, xmm0
lea eax, [esp + 0x50]
mov dword [esp + 0x50], 0
movaps xmmword [esp + 0x10], xmm0
mov dword [esp + 0x20], eax
push 0x4cfcf0
lea eax, [esp + 0x14]
push eax
push esi
push edi
push dword [esp + 0x18]
call fcn.005333f4
test eax, eax
je 0x4c1040
nop dword [eax]
push 1
push 0xffffffffffffffff
call fcn.00533484
cmp dword [esp + 0x50], 1
jne 0x4c1100
mov edi, dword [esp + 0x54]
test edi, edi
jne 0x4c1047
mov eax, dword [esp + 0x58]
cmp esi, eax
mov ecx, eax
cmova ecx, esi
test eax, eax
je 0x4c126d
cmp esi, eax
jb 0x4c16a4
mov esi, dword [esp + 0xc]
sub ecx, eax
mov edx, ebx
mov dword [esp + 0x34], ecx
add esi, eax
mov eax, ebx
or eax, esi
mov dword [esp + 0x40], esi
mov dword [esp + 0xc], esi
jne 0x4c105a
mov esi, dword [esp + 8]
xorps xmm0, xmm0
lea ebx, [esp + 0x6c]
movaps xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x10], xmm0
jmp 0x4c1188
call fcn.00533304
mov edi, eax
push edi
call fcn.004d5ec0
add esp, 4
cmp al, 0x23
jne 0x4c1513
xorps xmm0, xmm0
mov dword [esp + 0x6c], 0
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], ebx
push 0x4cfcf0
lea eax, [esp + 0x54]
push eax
push 0x20
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.005333f4
test eax, eax
je 0x4c1170
nop word [eax + eax]
push 1
push 0xffffffffffffffff
call fcn.00533484
cmp dword [esp + 0x6c], 1
jne 0x4c11c0
mov edi, dword [esp + 0x70]
test edi, edi
jne 0x4c1177
mov edi, dword [esp + 0x74]
test edi, edi
je 0x4c1271
cmp edi, 0x21
jae 0x4c16d6
xor edx, edx
lea ecx, [esp + 0x38]
push edi
call fcn.0049a500
add esp, 4
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
add eax, ebx
push edi
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.0053b960
mov edx, esi
add esp, 0xc
add ebx, edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x40], ebx
jmp 0x4c105a
movzx eax, al
cmp eax, 0xb
je 0x4c126d
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], 0
push 0xa4d018
push 0xa4acf4
lea eax, [esp + 0x18]
push eax
push 0x2b
push 0xa4ad04
call fcn.00512820
add esp, 0x14
jmp 0x4c16c6
movzx eax, al
cmp eax, 0xb
jne 0x4c151f
mov esi, dword [esp + 8]
push esi
call fcn.005331c4
jmp 0x4c157a
mov edx, dword [esp + 0x18]
movsd xmm0, qword [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
movsd qword [esp + 0x78], xmm0
mov dword [esp + 0x80], esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 8]
lea eax, [esp + 0x44]
lea ecx, [esp + 0x10]
push eax
call fcn.004cfd10
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 3
jne 0x4c12db
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov edi, esi
shld esi, ebx, 0x18
shr edi, 8
jmp 0x4c1568
movsd xmm0, qword [esp + 0x1c]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
lea edi, [esp + 0x6c]
mov dword [esp + 0x64], esi
movsd qword [esp + 0x5c], xmm0
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x78]
lea esi, [esp + 0x10]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
nop word cs:[eax + eax]
nop dword [eax + eax]
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x8c]
push eax
push 2
call fcn.005334d4
cmp eax, 1
je 0x4c1390
test eax, eax
jne 0x4c154e
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4c1458
cmp eax, 1
jne 0x4c13c7
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x10], 0
push 1
push esi
push ecx
push eax
call fcn.00533324
test eax, eax
je 0x4c1427
mov ebx, dword [esp + 0x10]
jmp 0x4c143e
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4c13ff
cmp eax, 1
jne 0x4c13c1
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x10], 0
push 1
push esi
push ecx
push eax
call fcn.00533324
test eax, eax
je 0x4c13cd
mov ebx, dword [esp + 0x10]
jmp 0x4c13e4
mov ebx, dword [esp + 0x54]
jmp 0x4c13e8
mov ebx, dword [esp + 0x70]
jmp 0x4c1442
xor ebx, ebx
call fcn.00533304
cmp eax, 0x26
je 0x4c13e4
mov esi, eax
cmp eax, 0x6d
jne 0x4c1647
lea esi, [esp + 0x10]
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x64]
add dword [eax + 8], ebx
test ebx, ebx
je 0x4c1480
mov ecx, esi
lea edx, [esp + 0x50]
call fcn.004cfdc0
movzx ebx, byte [esp + 0x10]
movzx eax, byte [esp + 0x11]
cmp bl, 4
jne 0x4c14fc
cmp al, 1
je 0x4c1330
jmp 0x4c1480
xor ebx, ebx
call fcn.00533304
cmp eax, 0x26
je 0x4c143e
mov esi, eax
cmp eax, 0x6d
jne 0x4c1647
lea esi, [esp + 0x10]
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x80]
add dword [eax + 8], ebx
test ebx, ebx
je 0x4c147c
mov ecx, esi
mov edx, edi
call fcn.004cfdc0
movzx ebx, byte [esp + 0x10]
movzx eax, byte [esp + 0x11]
cmp bl, 4
jne 0x4c14fc
cmp al, 1
je 0x4c1330
lea edi, [esp + 0x50]
mov eax, dword [edi]
test eax, eax
je 0x4c14dc
cmp eax, 1
jne 0x4c14ac
mov eax, dword [edi + 0x10]
mov dword [esp + 0x10], 0
push 1
push esi
push eax
push dword [edi + 8]
call fcn.00533324
test eax, eax
je 0x4c14b1
mov ebx, dword [esp + 0x10]
jmp 0x4c14c8
mov ebx, dword [edi + 4]
jmp 0x4c14cc
xor ebx, ebx
call fcn.00533304
cmp eax, 0x26
je 0x4c14c8
mov esi, eax
cmp eax, 0x6d
jne 0x4c1647
lea esi, [esp + 0x10]
mov dword [edi], 0
mov eax, dword [edi + 0x14]
add dword [eax + 8], ebx
test ebx, ebx
je 0x4c14f8
mov ecx, esi
mov edx, edi
call fcn.004cfdc0
movzx ebx, byte [esp + 0x10]
movzx eax, byte [esp + 0x11]
cmp bl, 4
jne 0x4c14fc
test al, al
jne 0x4c1480
mov bl, 4
jmp 0x4c155f
movzx edi, word [esp + 0x16]
mov ecx, dword [esp + 0x12]
movzx esi, al
shld edi, ecx, 8
shl ecx, 8
or esi, ecx
jmp 0x4c155f
movzx eax, al
cmp eax, 0xb
je 0x4c1271
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
push 0xa4d008
push 0xa4acf4
lea eax, [esp + 0x18]
push eax
push 0x2b
push 0xa4ad04
call fcn.00512820
add esp, 0x14
jmp 0x4c16c6
call fcn.00533304
mov esi, eax
mov edi, eax
shr edi, 8
shl esi, 0x18
xor ebx, ebx
lea ecx, [esp + 0x50]
call fcn.00491180
lea ecx, [esp + 0x6c]
call fcn.00491180
cmp bl, 4
jne 0x4c1670
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [eax + 8], 0
mov edi, dword [eax]
push 0xffffffffffffffff
push edi
call fcn.005334dc
test eax, eax
je 0x4c15e6
call fcn.00533304
mov dword [esi + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esi], 0
mov dword [esi + 8], 0
test eax, eax
je 0x4c15c7
mov ecx, eax
not ecx
shr ecx, 0x1f
push ecx
push eax
push dword [esp + 0x50]
call fcn.00403b20
add esp, 0xc
mov eax, dword [esp + 0x38]
test eax, eax
je 0x4c1627
mov ecx, eax
not ecx
shr ecx, 0x1f
push ecx
push eax
push dword [esp + 0x44]
call fcn.00403b20
add esp, 0xc
jmp 0x4c1627
mov dword [esp + 0x10], 0
lea eax, [esp + 0x10]
push eax
push edi
call fcn.005332cc
test eax, eax
je 0x4c1642
movsd xmm0, qword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
movsd qword [esi + 4], xmm0
movsd xmm0, qword [esp + 0x44]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x18], edx
movsd qword [esi + 0x10], xmm0
mov dword [esi], eax
push edi
call fcn.005331c4
mov eax, dword [ebp + 0xc]
push dword [eax + 4]
call fcn.005331c4
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp 0x4c1595
mov edi, esi
jmp 0x4c1557
push 0xa4c5b8
push esi
push ecx
call fcn.005182a0
add esp, 0xc
jmp 0x4c16c6
push 0xa4c5b8
push esi
push ecx
call fcn.005182a0
add esp, 0xc
jmp 0x4c16c6
shld edi, esi, 8
shl esi, 8
movzx eax, bl
or eax, esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
push 0xa4cff8
push 0xa4acf4
lea eax, [esp + 0x18]
push eax
push 0x2b
push 0xa4ad04
call fcn.00512820
add esp, 0x14
jmp 0x4c16c6
mov eax, 0xa4c5a8
push eax
push esi
push ecx
call fcn.00518320
add esp, 0xc
jmp 0x4c16c6
mov eax, 0xa4c5a8
push eax
push esi
push ecx
call fcn.00518320
add esp, 0xc
ud2
mov eax, 0xa4c7e0
mov esi, 0x20
mov ecx, ebx
jmp 0x4c16bb
mov eax, 0xa4c7e0
mov esi, 0x20
mov ecx, edi
jmp 0x4c16a9