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

Disassembly:
sub esp, 0x1f0
mov eax, dword [0x4e7fde0]
xor eax, esp
mov dword [esp + 0x1ec], eax
fldz
push ebx
fst dword [esp + 0xe0]
push ebp
fst dword [esp + 0xe8]
push esi
fstp dword [esp + 0xf0]
mov ebx, ecx
fld1
mov ecx, dword [0x4e83f60]
push edi
fstp dword [esp + 0xf8]
lea edx, [esp + 0x14]
mov eax, dword [ecx]
mov eax, dword [eax + 0x98]
push edx
mov edx, dword [ebx + 0x10]
push edx
mov dword [esp + 0x4c], ebx
call eax
mov ecx, dword [0x4e83f60]
mov edx, dword [ecx]
mov edx, dword [edx + 0x94]
lea eax, [esp + 0xec]
push eax
mov eax, dword [ebx + 0x10]
push eax
call edx
movzx eax, word [ebx + 0x3c]
push eax
call fcn.04c99fd0
movzx ecx, word [ebx + 0x3c]
fld dword [eax + 0x798]
push ecx
fstp dword [esp + 0x68]
call fcn.04c99fd0
movzx edx, word [ebx + 0x3c]
push edx
call fcn.04c99fd0
mov ebp, eax
add ebp, 0x418
add esp, 0xc
mov edi, 0x4e0d04c
mov esi, ebp
mov ecx, 1
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
mov dword [esp + 0x24], ebp
mov byte [esp + 0x22], 0
jne 0x4d8cc06
mov byte [esp + 0x22], 1
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x4d8d3d5
cmp eax, 4
je 0x4d8d3d5
cmp eax, 1
jne 0x4d8d115
push 0
push 0x10
lea ecx, [esp + 0xf4]
push ecx
mov ecx, dword [0x4e83f6c]
lea edx, [esp + 0x20]
push edx
push 0
push 0x4e3f8a0
call fcn.04b8a120
mov ecx, dword [0x4e83f6c]
call fcn.04b7fb80
cmp eax, 6
jne 0x4d8dac4
call fcn.04d87af0
cmp dword [eax + 0x51420], 0
je 0x4d8dac4
call fcn.04d87af0
mov ecx, dword [0x4e83f60]
mov eax, dword [eax + 0x51420]
mov edx, dword [ecx]
mov eax, dword [eax + 0x20]
mov edx, dword [edx + 0x98]
lea esi, [esp + 0x28]
push esi
push eax
call edx
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.04ca61a0
fstp dword [esp + 0x10]
fld dword [esp + 0x60]
fld dword [esp + 0x10]
fld st(1)
fmulp st(2)
fcompp
fnstsw ax
test ah, 0x41
jp 0x4d8d0cc
fld dword [esp + 0x28]
lea ecx, [esp + 0x38]
fsub dword [esp + 0x14]
push ecx
lea ecx, [esp + 0x68]
fstp dword [esp + 0x68]
fld dword [esp + 0x30]
fsub dword [esp + 0x1c]
fstp dword [esp + 0x6c]
fld dword [esp + 0x34]
fsub dword [esp + 0x20]
fstp dword [esp + 0x70]
call fcn.04b883a0
lea ecx, [esp + 0x80]
call fcn.04b828e0
lea ecx, [esp + 0xbc]
call fcn.04b82920
fld dword [esp + 0x14]
mov ecx, dword [0x4e83f60]
fstp dword [esp + 0x80]
fld dword [esp + 0x18]
lea edx, [esp + 0xbc]
fstp dword [esp + 0x84]
push edx
fld dword [esp + 0x20]
lea eax, [esp + 0x84]
fstp dword [esp + 0x8c]
mov dword [esp + 0xa8], 7
fld dword [esp + 0x2c]
push eax
fstp dword [esp + 0x94]
xor edi, edi
fld dword [esp + 0x38]
xor esi, esi
fstp dword [esp + 0x9c]
fld dword [esp + 0x34]
fadd qword [0x4e37440]
fstp dword [esp + 0x98]
mov edx, dword [ecx + 0x64]
call edx
add esp, 8
test al, al
je 0x4d8ce74
or ebx, 0xffffffff
test edi, edi
jne 0x4d8d0cc
cmp esi, 0xa
jge 0x4d8ce74
mov eax, dword [esp + 0xd8]
add esi, 1
test eax, eax
je 0x4d8ce47
cmp dword [esp + 0xe0], ebx
jne 0x4d8cdbc
cmp dword [esp + 0xdc], ebx
je 0x4d8ce47
mov ecx, dword [0x4e7ffd4]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test eax, eax
je 0x4d8cdd5
mov edi, 1
jmp 0x4d8ce47
fld dword [esp + 0x38]
fld qword [0x4e56000]
fmul st(1), st(0)
fxch st(1)
fstp dword [esp + 0x48]
fld dword [esp + 0x3c]
fmul st(1)
fstp dword [esp + 0x4c]
fmul dword [esp + 0x40]
fstp dword [esp + 0x50]
fld dword [esp + 0x48]
fadd dword [esp + 0xbc]
fstp dword [esp + 0x54]
fld dword [esp + 0xc0]
fadd dword [esp + 0x4c]
fstp dword [esp + 0x58]
fld dword [esp + 0xc4]
fadd dword [esp + 0x50]
fstp dword [esp + 0x5c]
fld dword [esp + 0x54]
fstp dword [esp + 0x80]
fld dword [esp + 0x58]
fstp dword [esp + 0x84]
fld dword [esp + 0x5c]
fstp dword [esp + 0x88]
mov eax, dword [0x4e83f60]
lea ecx, [esp + 0xbc]
push ecx
mov ecx, dword [eax + 0x64]
lea edx, [esp + 0x84]
push edx
call ecx
add esp, 8
test al, al
jne 0x4d8cd83
test edi, edi
jne 0x4d8d0cc
sub esp, 0xc
cmp byte [esp + 0x2e], 1
mov eax, esp
push 0
jne 0x4d8ce9d
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [eax], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
push 0x4e37564
jmp 0x4d8ceb4
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [eax], ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], edx
mov edx, ebp
mov dword [eax + 8], ecx
push edx
mov ecx, dword [0x55cdb88]
call fcn.04cffda0
fldz
mov eax, dword [0x4e83f60]
fst dword [esp + 0x70]
fst dword [esp + 0x74]
lea ecx, [esp + 0x70]
fstp dword [esp + 0x78]
push ecx
fld1
mov ecx, dword [0x4e83f6c]
fstp dword [esp + 0x80]
mov esi, dword [eax]
add esi, 0x94
call fcn.04b7fbb0
mov ecx, dword [0x4e83f60]
mov edx, dword [esi]
push eax
call edx
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x78]
call fcn.04b751e0
mov ecx, eax
call fcn.04b883a0
fld dword [eax]
fstp dword [esp + 0x64]
lea edx, [esp + 0x38]
fld dword [eax + 4]
push edx
fstp dword [esp + 0x6c]
lea ecx, [esp + 0x68]
fld dword [eax + 8]
mov eax, edx
push eax
fstp dword [esp + 0x74]
call fcn.04b7ee70
push ecx
lea ecx, [esp + 0x5c]
fstp dword [esp]
push ecx
call fcn.04ca19c0
fld dword [esp + 0x60]
fadd dword [esp + 0x34]
add esp, 0xc
lea edx, [esp + 0x14]
push edx
fstp dword [esp + 0x3c]
lea ecx, [esp + 0x3c]
fld dword [esp + 0x5c]
fadd dword [esp + 0x30]
fstp dword [esp + 0x40]
fld dword [esp + 0x60]
fadd dword [esp + 0x34]
fstp dword [esp + 0x44]
call fcn.04ca61a0
lea eax, [esp + 0x14]
fstp dword [esp + 0x24]
push eax
lea ecx, [esp + 0x2c]
call fcn.04ca61a0
fld dword [esp + 0x24]
fcompp
lea ecx, [esp + 0x54]
fnstsw ax
test ah, 5
jp 0x4d8cfaa
call fcn.04b77540
jmp 0x4d8cfb5
call fcn.04b77540
fmul qword [0x4e17488]
fadd qword [0x4e0d278]
fstp dword [esp + 0x24]
fld dword [esp + 0x60]
fstp qword [esp + 0x48]
fld dword [esp + 0x10]
call fcn.04df7e8c
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fsubr qword [esp + 0x48]
fld qword [0x4e55fd8]
fmul st(1), st(0)
fld dword [esp + 0x60]
fdivp st(2)
fld dword [esp + 0x24]
fmulp st(2)
fxch st(1)
fstp dword [esp + 0x24]
fld dword [esp + 0x24]
fcompp
fnstsw ax
test ah, 0x41
jne 0x4d8d00d
fld dword [0x4e55fcc]
fstp dword [esp + 0x24]
call fcn.04d87af0
mov esi, dword [eax + 4]
test esi, esi
je 0x4d8dac4
fld dword [esp + 0x14]
lea ecx, [esp + 0x54]
fsub dword [esp + 0x28]
push ecx
lea ecx, [esp + 0x3c]
mov byte [esp + 0x14], 0
fstp dword [esp + 0x3c]
fld dword [esp + 0x1c]
fsub dword [esp + 0x30]
fstp dword [esp + 0x40]
fld dword [esp + 0x20]
fsub dword [esp + 0x34]
fstp dword [esp + 0x44]
call fcn.04b883a0
fldz
lea edx, [esp + 0x54]
push edx
fstp dword [esp + 0x5c]
lea ecx, [esp + 0x68]
call fcn.04b7ee70
fcomp dword [0x4e55f78]
fnstsw ax
test ah, 5
jp 0x4d8d07a
mov byte [esp + 0x10], 1
mov eax, dword [esp + 0x10]
fld dword [esp + 0x24]
mov edx, dword [esp + 0x14]
fnstcw word [esp + 0x22]
push eax
movzx eax, word [esp + 0x26]
or eax, 0xc00
mov dword [esp + 0x14], eax
fldcw word [esp + 0x14]
fistp qword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x20]
sub esp, 0xc
fldcw word [esp + 0x36]
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x48]
mov dword [eax + 8], edx
call fcn.04d8a3a0
jmp 0x4d8dac4
push 0
sub esp, 0xc
cmp byte [esp + 0x32], 1
mov eax, esp
push 0
jne 0x4d8d0fa
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
push 0x4e37564
jmp 0x4d8dab9
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [eax], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov eax, ebp
jmp 0x4d8dab8
cmp eax, 2
jne 0x4d8d254
mov ecx, dword [0x4e0eed8]
mov eax, dword [0x4e0eee0]
mov edx, dword [0x4e0eedc]
mov dword [esp + 0xfc], ecx
mov ecx, dword [0x4e0eee4]
push 0xea
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x104], edx
mov edx, dword [0x4e0eee8]
mov dword [esp + 0x108], eax
mov al, byte [0x4e0eeec]
lea ecx, [esp + 0x115]
push 0
push ecx
mov dword [esp + 0x118], edx
mov byte [esp + 0x11c], al
call fcn.04df7dbc
movzx edx, word [ebx + 0x3c]
push edx
call fcn.04c99fd0
add esp, 0x10
add eax, 0x1011
mov edx, eax
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4d8d192
lea edi, [esp + 0xfc]
sub eax, edx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4d8d1a7
fld dword [esp + 0x18]
mov ecx, eax
fadd qword [0x4e0e248]
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 0
sub esp, 0xc
and ecx, 3
cmp byte [esp + 0x32], 1
rep movsb byte es:[edi], byte [esi]
fstp dword [esp + 0x28]
mov eax, esp
push 0
jne 0x4d8d1fa
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
push 0x4e3751c
jmp 0x4d8d20f
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [eax], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
push ebp
mov ecx, dword [0x55cdb88]
call fcn.04cffcc0
push 0
push 0x10
lea eax, [esp + 0xf4]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [0x4e83f6c]
push 0
lea edx, [esp + 0x110]
push edx
call fcn.04b8a120
lea eax, [esp + 0x14]
push eax
mov ecx, 0x55cd72c
call fcn.04cd81f0
jmp 0x4d8dac4
cmp eax, 3
jne 0x4d8d3af
mov ecx, dword [0x4e362cc]
mov edx, dword [0x4e362d0]
mov eax, dword [0x4e362d4]
mov dword [esp + 0xfc], ecx
mov ecx, dword [0x4e362d8]
mov dword [esp + 0x100], edx
movzx edx, word [0x4e362dc]
push 0xec
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x108], eax
mov al, byte [0x4e362de]
lea ecx, [esp + 0x113]
push 0
push ecx
mov word [esp + 0x118], dx
mov byte [esp + 0x11a], al
call fcn.04df7dbc
movzx edx, word [ebx + 0x3c]
push edx
call fcn.04c99fd0
mov ebp, eax
movzx eax, word [ebx + 0x3c]
push eax
add ebp, 0x1011
call fcn.04c99fd0
add eax, 0x418
add esp, 0x14
xor bl, bl
mov edi, 0x4e0d04c
mov esi, eax
mov ecx, 1
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4d8d2f9
mov bl, 1
mov ecx, ebp
mov esi, ebp
lea ecx, [ecx]
mov dl, byte [ecx]
add ecx, 1
test dl, dl
jne 0x4d8d300
sub ecx, esi
lea edi, [esp + 0xfc]
mov edx, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4d8d317
fld dword [esp + 0x18]
mov ecx, edx
fadd qword [0x4e0e248]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
push 0
sub esp, 0xc
cmp bl, 1
rep movsb byte es:[edi], byte [esi]
fstp dword [esp + 0x28]
jne 0x4d8d366
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x2c]
push 0
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
push 0x4e3751c
jmp 0x4d8d37f
mov edx, dword [esp + 0x24]
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x2c]
push 0
mov dword [ecx + 8], edx
push eax
mov ecx, dword [0x55cdb88]
call fcn.04cffcc0
push 0
push 0x10
push 0
lea eax, [esp + 0x20]
push eax
push 0
lea ecx, [esp + 0x110]
push ecx
mov ecx, dword [0x4e83f6c]
call fcn.04b8a120
jmp 0x4d8dac4
cmp eax, 5
jne 0x4d8d3c0
mov ecx, ebx
call fcn.04d8bb30
jmp 0x4d8dac4
cmp eax, 6
jne 0x4d8dac4
mov ecx, ebx
call fcn.04d8c3c0
jmp 0x4d8dac4
mov edx, dword [0x55cd2f0]
mov eax, dword [edx]
mov edi, dword [0x4e0c370]
mov ecx, 0x55cd2ec
mov dword [esp + 0x10], 0
mov ebx, ecx
mov ebp, eax
test ebx, ebx
mov esi, dword [0x55cd2f0]
je 0x4d8d406
cmp ebx, 0x55cd2ec
je 0x4d8d408
call edi
cmp ebp, esi
je 0x4d8d62e
cmp dword [esp + 0x10], 0
jne 0x4d8da75
test ebx, ebx
jne 0x4d8d421
call edi
cmp ebp, dword [ebx + 4]
jne 0x4d8d428
call edi
mov eax, dword [ebp + 8]
cmp dword [eax + 8], 2
jne 0x4d8d61f
mov ecx, dword [eax + 0x418]
mov edx, dword [eax + 0x41c]
mov dword [esp + 0x64], ecx
mov ecx, dword [eax + 0x420]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x4e83f60]
mov dword [esp + 0x68], edx
mov edx, dword [ecx]
mov edx, dword [edx + 0x98]
lea esi, [esp + 0x38]
push esi
push eax
call edx
fld dword [esp + 0x38]
fld st(0)
fld dword [esp + 0x64]
fld st(0)
fsubp st(2)
fld dword [esp + 0x14]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 1
jne 0x4d8d613
faddp st(2)
fcompp
fnstsw ax
test ah, 0x41
jp 0x4d8d61f
fld dword [esp + 0x40]
fld st(0)
fld dword [esp + 0x6c]
fld st(0)
fsubp st(2)
fld dword [esp + 0x1c]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 1
jne 0x4d8d613
faddp st(2)
fcompp
fnstsw ax
test ah, 0x41
jp 0x4d8d61f
fld dword [esp + 0x18]
fld dword [esp + 0x3c]
fld st(0)
fld qword [0x4e374e0]
fadd st(1), st(0)
fxch st(1)
fcomp st(3)
fnstsw ax
test ah, 1
jne 0x4d8d619
fsubp st(1)
fcompp
fnstsw ax
test ah, 0x41
jp 0x4d8d61f
fldz
push ecx
fst dword [esp + 0x2c]
lea eax, [esp + 0x58]
fst dword [esp + 0x30]
lea ecx, [esp + 0x2c]
fstp dword [esp + 0x34]
fld1
fstp dword [esp + 0x38]
fld dword [0x5824d48]
fchs
fmul qword [0x4e55f80]
fstp dword [esp + 0x14]
fld dword [esp + 0x14]
fstp dword [esp]
push eax
call fcn.04b75140
push eax
lea ecx, [esp + 0x30]
call fcn.04b74da0
mov ecx, dword [0x4e374cc]
mov edx, dword [0x4e374d0]
mov eax, dword [0x4e374d4]
push 0xf0
mov dword [esp + 0x108], eax
mov dword [esp + 0x100], ecx
mov cx, word [0x4e374d8]
mov dword [esp + 0x104], edx
mov dl, byte [0x4e374da]
lea eax, [esp + 0x10f]
push 0
push eax
mov dword [esp + 0x1c], 1
mov word [esp + 0x114], cx
mov byte [esp + 0x116], dl
call fcn.04df7dbc
mov ecx, dword [esp + 0x50]
movzx edx, word [ecx + 0x3c]
push edx
call fcn.04c99fd0
add esp, 0x10
add eax, 0x1011
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4d8d5b8
lea edi, [esp + 0xfc]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
nop
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4d8d5d0
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, eax
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [0x4e83f6c]
push 0
lea edx, [esp + 0x110]
push edx
call fcn.04b8a120
mov edi, dword [0x4e0c370]
jmp 0x4d8d61f
fstp st(2)
fstp st(1)
jmp 0x4d8d61d
fstp st(1)
fstp st(0)
fstp st(0)
cmp ebp, dword [ebx + 4]
jne 0x4d8d626
call edi
mov ebp, dword [ebp]
jmp 0x4d8d3f4
cmp dword [esp + 0x10], 0
jne 0x4d8da75
fldz
mov edx, dword [0x4e83f60]
fst dword [esp + 0x70]
or eax, 0xffffffff
fst dword [esp + 0x74]
xor ebx, ebx
fst dword [esp + 0x78]
mov dword [esp + 0xe0], eax
fld1
mov dword [esp + 0xdc], eax
fstp dword [esp + 0x7c]
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x84]
fst dword [esp + 0x9c]
mov dword [esp + 0xb4], ebx
fst dword [esp + 0xa0]
mov dword [esp + 0xb0], ebx
fst dword [esp + 0xa4]
mov dword [esp + 0xbc], ebx
fst dword [esp + 0xc0]
mov dword [esp + 0xb8], ebx
fst dword [esp + 0xc4]
mov dword [esp + 0xdc], ebx
fst dword [esp + 0xc8]
mov dword [esp + 0xe8], ebx
fst dword [esp + 0xcc]
mov dword [esp + 0xa8], 7
fst dword [esp + 0xd0]
mov dword [esp + 0xac], 0x4cda750
fst dword [esp + 0xd4]
push ecx
fstp dword [esp + 0xdc]
fld dword [esp + 0x1c]
fst dword [esp + 0x88]
fld dword [esp + 0x20]
fst dword [esp + 0x8c]
fld dword [esp + 0x24]
fst dword [esp + 0x90]
fstp dword [esp + 0x9c]
fxch st(1)
fstp dword [esp + 0x94]
fsub qword [0x4e15cd8]
fstp dword [esp + 0x98]
mov eax, dword [edx + 0x64]
call eax
add esp, 8
test al, al
je 0x4d8d7f3
mov ecx, dword [esp + 0xe4]
push ecx
call fcn.04c98b80
add esp, 4
cmp eax, ebx
je 0x4d8d7f3
cmp dword [eax], 0xe
jne 0x4d8d7f3
mov eax, dword [0x4e374c0]
mov edx, dword [0x4e374bc]
mov ecx, dword [0x4e374c4]
push 0xef
mov dword [esp + 0x104], eax
mov dword [esp + 0x100], edx
mov edx, dword [0x4e374c8]
lea eax, [esp + 0x110]
push ebx
push eax
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], edx
call fcn.04df7dbc
mov ecx, dword [esp + 0x50]
movzx edx, word [ecx + 0x3c]
push edx
call fcn.04c99fd0
add esp, 0x10
add eax, 0x1011
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4d8d7d0
lea edi, [esp + 0xfc]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4d8d7e7
jmp 0x4d8d85a
mov ecx, 5
mov esi, 0x4e36350
lea edi, [esp + 0xfc]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0xe8
lea eax, [esp + 0x117]
push ebx
push eax
movsb byte es:[edi], byte [esi]
call fcn.04df7dbc
mov ecx, dword [esp + 0x50]
movzx edx, word [ecx + 0x3c]
push edx
call fcn.04c99fd0
add esp, 0x10
add eax, 0x1011
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4d8d834
lea edi, [esp + 0xfc]
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
jmp 0x4d8d850
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x4d8d850
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push ebx
mov ecx, eax
and ecx, 3
push 0x10
lea eax, [esp + 0x78]
rep movsb byte es:[edi], byte [esi]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [0x4e83f6c]
push ebx
lea edx, [esp + 0x110]
push edx
call fcn.04b8a120
push 1
fldz
sub esp, 0xc
fst dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
fld dword [0x4e55fb0]
mov eax, esp
mov dword [eax], ecx
fstp dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x24]
fstp dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x28]
sub esp, 0xc
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
call fcn.04ca2950
add esp, 0x1c
call fcn.04d87af0
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x4d8da75
xor edi, edi
jmp 0x4d8d8f0
push edi
mov ecx, ebx
call fcn.04d7fc50
mov esi, eax
test esi, esi
je 0x4d8da69
mov ecx, esi
call fcn.04d7c090
test al, al
je 0x4d8da69
mov ecx, dword [0x4e83f60]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1e4]
lea edx, [esp + 0x48]
push edx
mov edx, dword [esi + 0x20]
push edx
call eax
fld dword [esp + 0x48]
fsub dword [esp + 0x14]
fstp dword [esp + 0x38]
fld dword [esp + 0x4c]
fsub dword [esp + 0x18]
fstp dword [esp + 0x3c]
fld dword [esp + 0x50]
fsub dword [esp + 0x1c]
fstp dword [esp + 0x40]
fld dword [esp + 0x3c]
fld dword [esp + 0x38]
fld dword [esp + 0x40]
fld st(1)
fmulp st(2)
fld st(2)
fmulp st(3)
fxch st(1)
faddp st(2)
fmul st(0), st(0)
faddp st(1)
fstp dword [esp + 0x10]
fld dword [esp + 0x60]
fld dword [esp + 0x10]
fld st(1)
fmulp st(2)
fcompp
fnstsw ax
test ah, 0x41
jp 0x4d8da69
mov ecx, dword [esp + 0x44]
movzx edx, word [ecx + 0x3c]
push edx
call fcn.04c99fd0
add esp, 4
fld dword [esp + 0x10]
mov ebp, eax
call fcn.04df7e8c
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul qword [0x4e55f90]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fmul dword [ebp + 0x7c0]
fld1
fsubrp st(1)
fstp dword [esp + 0x10]
fldz
fcom dword [esp + 0x10]
fnstsw ax
test ah, 0x41
jne 0x4d8d9d8
fst dword [esp + 0x10]
fld dword [ebp + 0x7a4]
fmul dword [esp + 0x10]
fstp dword [esp + 0x10]
fld dword [esp + 0x10]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x4d8da67
fld1
fcompp
fnstsw ax
test ah, 0x41
jp 0x4d8da69
mov ecx, esi
call fcn.04d7c170
fldz
fst dword [esp + 0x28]
push 0
fld dword [0x4e55fb0]
mov ecx, dword [esp + 0x2c]
fstp dword [esp + 0x30]
sub esp, 0xc
mov edx, dword [esp + 0x3c]
mov eax, esp
mov dword [eax], ecx
fstp dword [esp + 0x40]
fld dword [esp + 0x5c]
mov ecx, dword [esp + 0x40]
fadd qword [0x4e0e248]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x58]
mov dword [eax + 8], ecx
sub esp, 0xc
fstp dword [esp + 0x68]
mov ecx, dword [esp + 0x68]
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
call fcn.04ca2950
add esp, 0x1c
jmp 0x4d8da69
fstp st(0)
add edi, 1
cmp edi, 0x10
jl 0x4d8d8f0
push 0
sub esp, 0xc
cmp byte [esp + 0x32], 1
mov eax, esp
push 0
jne 0x4d8daa0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
push 0x4e373f0
jmp 0x4d8dab9
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [eax], edx
mov edx, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x38]
push eax
mov ecx, dword [0x55cdb88]
call fcn.04cffcc0
mov esi, dword [esp + 0x44]
mov eax, dword [esi + 0x78]
test eax, eax
je 0x4d8dae1
push eax
mov ecx, 0x4e7ba68
call fcn.04cab660
mov dword [esi + 0x78], 0
mov ecx, dword [esp + 0x1fc]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.04df7d7a
add esp, 0x1f0
ret