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

Disassembly:
sub esp, 0xfc
push ebx
push ebp
push esi
mov esi, dword [0x4e83f6c]
movzx eax, byte [esi + 0xfbcc]
lea ebp, [esi + 0xfbd0]
xor ebx, ebx
cmp ebp, ebx
push edi
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x88], ebp
je 0x4d37303
lea ecx, [ebx + 0x10]
lea eax, [ebp + 0x380]
lea edx, [ebx + 4]
cmp dword [eax - 0x380], ebx
jne 0x4d36cd0
sub ecx, 1
cmp dword [eax - 0x1c0], ebx
jne 0x4d36cdb
sub ecx, 1
cmp dword [eax], ebx
jne 0x4d36ce2
sub ecx, 1
cmp dword [eax + 0x1c0], ebx
jne 0x4d36ced
sub ecx, 1
add eax, 0x700
sub edx, 1
jne 0x4d36cc5
cmp ecx, 1
jle 0x4d37303
mov eax, dword [0x4e83f4c]
cmp eax, 5
mov byte [esp + 0x13], bl
je 0x4d36d13
cmp eax, 0xc
jne 0x4d36d27
mov eax, dword [esi + 0x50]
cmp eax, ebx
je 0x4d36d27
cmp byte [eax + 0x4fd], bl
je 0x4d36d27
mov byte [esp + 0x13], 1
mov eax, dword [0x4e83f60]
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [eax + 0x118]
lea edx, [esp + 0x44]
push edx
call ecx
mov edx, dword [0x4e83f60]
push eax
mov eax, dword [edx + 0x14c]
call eax
add esp, 0xc
lea ecx, [esp + 0x58]
push ecx
mov ecx, dword [0x4e83f6c]
call fcn.04b7fb30
mov ecx, dword [0x4e83f6c]
lea edx, [esp + 0xfc]
push edx
call fcn.04b7fb50
fld dword [esp + 0x108]
fld st(0)
or eax, 0xffffffff
fld dword [esp + 0x100]
mov dword [esp + 0xf0], ebx
fld st(0)
mov dword [esp + 0xec], ebx
fmulp st(2)
mov dword [esp + 0xf8], ebx
fld dword [esp + 0x104]
mov dword [esp + 0xf4], ebx
fld st(0)
mov dword [esp + 0xac], ebx
fld dword [esp + 0xfc]
mov dword [esp + 0xb4], eax
fld st(0)
mov dword [esp + 0xb0], eax
fmulp st(2)
mov dword [esp + 0xb8], ebx
fxch st(4)
mov dword [esp + 0xbc], eax
mov dword [esp + 0xe4], 7
faddp st(1)
fld qword [0x4e0d108]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x30]
fld st(2)
fmulp st(2)
fld st(3)
fmulp st(5)
fxch st(1)
fsubrp st(4)
fmul st(3), st(0)
fxch st(3)
fstp dword [esp + 0x34]
fld st(1)
fmulp st(2)
fmul st(0), st(0)
faddp st(1)
fmulp st(1)
fld1
fsubrp st(1)
fstp dword [esp + 0x38]
fldz
fst dword [esp + 0xd8]
fst dword [esp + 0xdc]
fst dword [esp + 0xe0]
fst dword [esp + 0x90]
fst dword [esp + 0x94]
fst dword [esp + 0x98]
fst dword [esp + 0x9c]
fst dword [esp + 0xa0]
fst dword [esp + 0xa4]
fstp dword [esp + 0xa8]
fld dword [esp + 0x58]
fst dword [esp + 0xc0]
fld dword [esp + 0x5c]
fst dword [esp + 0xc4]
fld dword [esp + 0x60]
fst dword [esp + 0xc8]
fld dword [esp + 0x30]
push ebx
fld qword [0x4e3d4a8]
mov ecx, 0x4e7ce44
fmul st(1), st(0)
mov dword [esp + 0xec], 0x4d34bf0
fxch st(1)
mov dword [esp + 0x50], ebx
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
fstp dword [esp + 0x1c]
fld dword [esp + 0x38]
fmul st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0x48]
fstp dword [esp + 0x20]
fmul dword [esp + 0x3c]
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fstp dword [esp + 0x24]
fld dword [esp + 0x1c]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x28]
fadd dword [esp + 0x20]
fstp dword [esp + 0x2c]
fadd dword [esp + 0x24]
fstp dword [esp + 0x30]
fld dword [esp + 0x28]
fstp dword [esp + 0xd0]
fld dword [esp + 0x2c]
fstp dword [esp + 0xd4]
fld dword [esp + 0x30]
fstp dword [esp + 0xd8]
call fcn.04d34be0
lea esp, [esp]
mov edx, dword [0x4e83f60]
lea eax, [esp + 0x90]
push eax
mov eax, dword [edx + 0x64]
lea ecx, [esp + 0xc4]
push ecx
call eax
add esp, 8
test al, al
je 0x4d3731c
mov ecx, dword [esp + 0xb8]
push ecx
call fcn.04c98b80
mov ecx, dword [0x4e7ffd0]
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
add esp, 4
mov esi, eax
lea eax, [esp + 0x74]
push eax
mov eax, dword [esp + 0xb0]
push ebx
push eax
call edx
cmp esi, ebx
je 0x4d36f8d
cmp dword [esi + 0x470], ebx
jne 0x4d36f86
test byte [esp + 0x74], 1
jne 0x4d36f8d
mov byte [esp + 0x12], 1
jmp 0x4d36f92
mov byte [esp + 0x12], 0
mov eax, dword [esp + 0xac]
cmp eax, ebx
je 0x4d37206
push eax
mov eax, dword [0x4e83f60]
mov ecx, dword [eax + 0x228]
call ecx
add esp, 4
cmp eax, ebx
je 0x4d37206
cmp dword [eax], 1
jne 0x4d37206
mov edi, dword [eax + 4]
cmp edi, ebx
mov dword [esp + 0x84], edi
je 0x4d37206
mov eax, dword [0x4e83f4c]
xor esi, esi
mov dword [esp + 0x48], esi
lea ebx, [ebp + 6]
mov edx, dword [ebx - 6]
cmp edx, dword [edi + 0x70]
jne 0x4d371ee
mov ecx, dword [esp + 0x64]
cmp esi, ecx
je 0x4d371ee
cmp dword [edi + 0x1a0], 0
jne 0x4d37310
mov dl, byte [ebx - 1]
imul ecx, ecx, 0x1c0
cmp dl, byte [ecx + ebp + 5]
jne 0x4d3702f
cmp byte [esp + 0x110], 0
je 0x4d371ee
mov dword [esp + 0x14], 0xff0b6d95
jmp 0x4d3705a
cmp eax, 3
je 0x4d371ee
cmp eax, 5
je 0x4d37042
cmp eax, 0xc
jne 0x4d37052
cmp byte [esp + 0x13], 0
je 0x4d370c0
cmp byte [edi + 0x1813], 0
jne 0x4d370c9
mov dword [esp + 0x14], 0xfff24a17
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
sub esp, 0xc
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x40]
sub esp, 0xc
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, 0x55cd72c
mov dword [eax + 8], edx
call fcn.04cd8040
test al, al
jne 0x4d371e9
mov ecx, dword [0x55d5800]
push ebx
call fcn.04d605b0
mov ebp, dword [0x55d5800]
cmp dword [ebp + 8], 0
mov edi, eax
je 0x4d370d3
mov eax, dword [ebp + 8]
mov esi, dword [eax + 4]
jmp 0x4d370d6
cmp byte [edi + 0x1813], 0
jne 0x4d37052
mov dword [esp + 0x14], 0xff0b6d95
jmp 0x4d3705a
or esi, 0xffffffff
mov eax, dword [0x4e83f4c]
cmp eax, 5
je 0x4d37195
cmp eax, 0xc
je 0x4d37195
mov ecx, dword [0x4e83f6c]
lea eax, [ecx + 0xfbd0]
test eax, eax
je 0x4d37195
movzx ecx, byte [ecx + 0x117d8]
imul ecx, ecx, 0x1c0
mov edx, ebx
lea eax, [ecx + eax + 6]
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x4d37134
test cl, cl
je 0x4d37130
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x4d37134
add eax, 2
add edx, 2
test cl, cl
jne 0x4d37114
xor eax, eax
jmp 0x4d37139
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4d37195
push eax
mov ecx, dword [esp + 0x54]
push eax
push eax
push eax
push eax
mov eax, esi
cdq
sub eax, edx
shr ecx, 1
sar eax, 1
sub ecx, eax
add ecx, 0x2f
push ecx
mov ecx, dword [esp + 0x58]
mov eax, edi
cdq
sub eax, edx
mov edx, dword [esp + 0xa4]
shr ecx, 1
sar eax, 1
sub ecx, eax
mov eax, dword [edx + 8]
sub ecx, 0x14
push ecx
push 0xff
push 0xff
push 0xff
push 0xff
push eax
call fcn.04d46710
mov ebp, dword [0x55d5800]
add esp, 0x30
mov ecx, dword [esp + 0x14]
push 0
push 0
push 1
push ecx
mov ecx, dword [esp + 0x60]
mov eax, esi
cdq
sub eax, edx
shr ecx, 1
sar eax, 1
sub ecx, eax
add ecx, 0x32
push ecx
mov ecx, dword [esp + 0x54]
mov eax, edi
cdq
sub eax, edx
shr ecx, 1
sar eax, 1
sub ecx, eax
push ecx
push ebx
mov ecx, ebp
call fcn.04d610e0
push 1
mov ecx, 0x4e7ce44
call fcn.04d34be0
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
mov eax, dword [0x4e83f4c]
add esi, 1
add ebx, 0x1c0
cmp esi, 0x10
mov dword [esp + 0x48], esi
jl 0x4d36fe3
xor ebx, ebx
cmp byte [esp + 0x12], 0
je 0x4d372de
fld dword [esp + 0x30]
fld qword [0x4e0e230]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x34]
fmul st(1)
fstp dword [esp + 0x28]
fmul dword [esp + 0x38]
fstp dword [esp + 0x2c]
fld dword [esp + 0x24]
fadd dword [esp + 0x90]
fstp dword [esp + 0x18]
fld dword [esp + 0x28]
fadd dword [esp + 0x94]
fstp dword [esp + 0x1c]
fld dword [esp + 0x2c]
fadd dword [esp + 0x98]
fstp dword [esp + 0x20]
fld dword [esp + 0x18]
fst dword [esp + 0xc0]
fld dword [esp + 0x1c]
fst dword [esp + 0xc4]
fld dword [esp + 0x20]
fst dword [esp + 0xc8]
fld dword [esp + 0x3c]
fstp dword [esp + 0x68]
fld dword [esp + 0x44]
fstp dword [esp + 0x6c]
fld dword [esp + 0x54]
fstp dword [esp + 0x70]
fld dword [esp + 0x68]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x78]
fadd dword [esp + 0x6c]
fstp dword [esp + 0x7c]
fadd dword [esp + 0x70]
fstp dword [esp + 0x80]
fld dword [esp + 0x78]
fstp dword [esp + 0xcc]
fld dword [esp + 0x7c]
fstp dword [esp + 0xd0]
fld dword [esp + 0x80]
fstp dword [esp + 0xd4]
mov eax, dword [esp + 0x4c]
add eax, 1
cmp eax, 4
mov dword [esp + 0x4c], eax
jg 0x4d372f9
cmp byte [esp + 0x12], 0
jne 0x4d36f20
mov ecx, 0x4e7ce44
call fcn.04d34bd0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret 4
mov byte [esp + 0x12], 1
xor ebx, ebx
jmp 0x4d37211
mov byte [esp + 0x12], 0
jmp 0x4d372de