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

Disassembly:
sub esp, 0xc0
push ebx
push ebp
push esi
push edi
call fcn.00421b30
xor ebp, ebp
xor esi, esi
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
mov dword [esp + 0x3c], 7
mov dword [esp + 0x38], ebp
call fcn.0040bd30
push ebp
xor edi, edi
push ebp
push ebp
mov dword [esp + 0x50], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x3c], ebp
call fcn.0040a290
push ebp
push ebp
push ebp
call fcn.0040a120
push 0x3f800000
push 0x40a00000
push ebp
push ebp
push 7
call fcn.0040abc0
mov ebx, eax
add esp, 0x44
mov dword [esp + 0x38], ebx
jmp 0x412638
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0x28]
xor ebp, ebp
call fcn.0040e680
cmp edi, 1
jne 0x412649
push 0x3dcccccd
jmp 0x41264e
push 0x40a00000
push ebp
push ebp
push ebx
call fcn.0040ac40
mov ecx, dword [0x540738]
add esp, 0x10
mov eax, ecx
imul eax, dword [esp + 0x24]
add esi, eax
cmp esi, 0x7c0
mov dword [esp + 0x28], esi
jle 0x412697
cmp dword [esp + 0x20], ebp
jne 0x41268d
call fcn.004090d0
mov ecx, dword [0x540738]
mov dword [esp + 0x20], 1
mov dword [esp + 0x28], 0x7c0
jmp 0x4126bb
cmp esi, ebp
jge 0x4126bb
cmp edi, 4
jne 0x413049
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], 6
call fcn.00410400
mov ecx, dword [0x540738]
cmp dword [esp + 0x20], ebp
je 0x412b50
fld dword [esp + 0x10]
fcomp dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
fnstsw ax
test ah, 0x40
je 0x412ab9
mov edi, ebx
mov dword [esp + 0x30], edi
call fcn.00409100
mov esi, eax
cmp esi, 0x26
je 0x4126f6
cmp esi, dword [0x5b2ec0]
jne 0x412709
cmp ebx, ebp
jle 0x412709
dec ebx
push 0x15
mov dword [esp + 0x1c], ebx
call fcn.0040ab20
add esp, 4
cmp esi, 0x28
je 0x412716
cmp esi, dword [0x5b2ec4]
jne 0x41272a
cmp ebx, 5
jge 0x41272a
inc ebx
push 0x15
mov dword [esp + 0x1c], ebx
call fcn.0040ab20
add esp, 4
mov al, byte [0x44c951]
mov ecx, dword [0x540738]
mov edx, dword [0x5b2ec8]
test al, 0x80
jne 0x41274c
test byte [edx + 0x44c92c], 0x80
je 0x4128c6
cmp edi, ebp
jne 0x4127a7
fld dword [0x5b2eb0]
fcomp dword [0x439224]
fnstsw ax
test ah, 0x41
jne 0x412781
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebp
fild qword [esp + 0x68]
fmul dword [0x439354]
fsubr dword [0x5b2eb0]
fstp dword [0x5b2eb0]
fld dword [0x5b2eb0]
fcomp dword [0x439224]
fnstsw ax
test ah, 1
je 0x4128c6
mov dword [0x5b2eb0], 0
jmp 0x4128c6
cmp edi, 1
jne 0x41283c
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ebp
fild qword [esp + 0xc8]
fmul dword [0x439354]
fsubr dword [0x5b2eb4]
fst dword [0x5b2eb4]
fcomp dword [0x439224]
fnstsw ax
test ah, 1
je 0x4127fd
mov dword [0x5b2eb4], 0
mov dword [0x43dc0c], 0
jmp 0x4128c6
fld dword [0x5b2eb4]
fcomp dword [0x439224]
fnstsw ax
test ah, 0x40
je 0x41281f
mov dword [0x43dc0c], 0
jmp 0x4128c6
fld dword [0x5b2eb4]
fmul dword [0x439384]
fadd dword [0x439344]
fstp dword [0x43dc0c]
jmp 0x4128c6
cmp edi, 2
jne 0x4128c6
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ebp
fild qword [esp + 0xa0]
fmul dword [0x439354]
fsubr dword [0x5b2eb8]
fst dword [0x5b2eb8]
fcomp dword [0x439224]
fnstsw ax
test ah, 1
je 0x41288f
mov dword [0x5b2eb8], 0
mov dword [0x43dc10], 0
jmp 0x4128c6
fld dword [0x5b2eb8]
fcomp dword [0x439224]
fnstsw ax
test ah, 0x40
je 0x4128ae
mov dword [0x43dc10], 0
jmp 0x4128c6
fld dword [0x5b2eb8]
fmul dword [0x439384]
fadd dword [0x439344]
fstp dword [0x43dc10]
test byte [0x44c953], 0x80
jne 0x4128e1
mov eax, dword [0x5b2ecc]
test byte [eax + 0x44c92c], 0x80
je 0x4129fd
cmp edi, ebp
jne 0x412945
fld dword [0x5b2eb0]
fcomp dword [0x439380]
fnstsw ax
test ah, 1
je 0x41291f
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], ebp
fild qword [esp + 0x80]
fmul dword [0x439354]
fadd dword [0x5b2eb0]
fstp dword [0x5b2eb0]
fld dword [0x5b2eb0]
fcomp dword [0x439380]
fnstsw ax
test ah, 0x41
jne 0x4129fd
mov dword [0x5b2eb0], 0x447a0000
jmp 0x4129fd
cmp edi, 1
jne 0x4129a2
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], ebp
fild qword [esp + 0xc0]
fmul dword [0x439354]
fadd dword [0x5b2eb4]
fst dword [0x5b2eb4]
fcomp dword [0x439380]
fnstsw ax
test ah, 0x41
jne 0x412988
mov dword [0x5b2eb4], 0x447a0000
fld dword [0x5b2eb4]
fmul dword [0x439384]
fadd dword [0x439344]
fstp dword [0x43dc0c]
jmp 0x4129fd
cmp edi, 2
jne 0x4129fd
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], ebp
fild qword [esp + 0x90]
fmul dword [0x439354]
fadd dword [0x5b2eb8]
fst dword [0x5b2eb8]
fcomp dword [0x439380]
fnstsw ax
test ah, 0x41
jne 0x4129e5
mov dword [0x5b2eb8], 0x447a0000
fld dword [0x5b2eb8]
fmul dword [0x439384]
fadd dword [0x439344]
fstp dword [0x43dc10]
cmp esi, 0x25
je 0x412a06
cmp esi, edx
jne 0x412a2e
cmp edi, 3
jne 0x412a2e
mov edx, dword [0x5b2ed0]
xor ecx, ecx
cmp edx, ebp
push 0x16
sete cl
mov dword [0x5b2ed0], ecx
call fcn.0040ab20
mov ecx, dword [0x540738]
add esp, 4
cmp esi, 0xd
je 0x412a45
cmp esi, 0x20
je 0x412a45
cmp esi, 0x27
je 0x412a45
cmp esi, dword [0x5b2ecc]
jne 0x412a84
cmp edi, 3
jne 0x412a5e
mov eax, dword [0x5b2ed0]
xor edx, edx
cmp eax, ebp
sete dl
mov dword [0x5b2ed0], edx
jmp 0x412a74
cmp edi, 5
je 0x412a68
cmp edi, 4
jne 0x412a84
mov dword [esp + 0x24], 0xfffffffa
mov dword [esp + 0x20], ebp
push 0x16
call fcn.0040ab20
mov ecx, dword [0x540738]
add esp, 4
cmp esi, 0x1b
je 0x412a8e
cmp esi, 8
jne 0x412ab9
mov edi, 5
push 0x16
mov ebx, edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], 0xfffffffa
mov dword [esp + 0x24], ebp
call fcn.0040ab20
mov ecx, dword [0x540738]
add esp, 4
neg ebx
mov dword [esp + 0x1c], ebx
fild dword [esp + 0x1c]
fmul dword [0x43937c]
fstp dword [esp + 0x14]
fld dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x412b14
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], ebp
fild qword [esp + 0xb0]
fmul dword [0x439364]
fadd dword [esp + 0x10]
fst dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x412b50
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
jmp 0x412b50
fld dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 0x41
jne 0x412b50
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ebp
fild qword [esp + 0x70]
fmul dword [0x439364]
fsubr dword [esp + 0x10]
fst dword [esp + 0x10]
fcomp dword [esp + 0x14]
fnstsw ax
test ah, 1
je 0x412b50
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], edx
lea eax, [ecx + ecx]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], eax
lea ecx, [esp + 0x40]
fild qword [esp + 0x78]
push ecx
fadd dword [esp + 0x30]
fstp dword [esp + 0x30]
call fcn.004012b0
fld dword [esp + 0x30]
call fcn.0042ff3c
mov ebp, eax
lea edx, [esp + 0x44]
push ebp
push edx
call fcn.004012f0
lea eax, [esp + 0x4c]
push 0x3e4ccccd
push eax
call fcn.00401480
mov edx, dword [0x57abd0]
lea ecx, [esp + 0x54]
push ecx
push edx
call fcn.00401610
mov eax, dword [esp + 0x44]
sar eax, 3
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fstp dword [esp + 0x58]
mov ebx, dword [esp + 0x58]
push ebx
push ebx
push ebx
call fcn.0040bca0
add esp, 0x28
call fcn.00405c40
test eax, eax
je 0x41262e
push 0
call fcn.004056e0
mov ecx, dword [0x540738]
push ecx
call fcn.00411320
push 1
call fcn.004056e0
push 3
call fcn.004056b0
mov edx, dword [0x540738]
push edx
call fcn.00411490
fld dword [esp + 0x24]
fmul dword [0x439254]
add esp, 0x14
fsub dword [0x439368]
push 0
push 0xfffffe00
push 0
push ecx
fstp dword [esp]
push 0x3c9374bc
push 0
call fcn.0040bd30
push 0x3e99999a
push 0x3f333333
push 0xbf490fdb
push 0xbf490fdb
call fcn.0040de60
add esp, 0x28
xor esi, esi
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0x18]
fld dword [esi*4 + 0x43ecc8]
cmp esi, eax
jne 0x412d26
fcomp dword [0x43923c]
mov ecx, dword [0x540738]
fnstsw ax
test ah, 1
je 0x412cc0
mov dword [esp + 0x88], ecx
mov dword [esp + 0x8c], 0
fild qword [esp + 0x88]
fmul dword [0x43935c]
fadd dword [esi*4 + 0x43ecc8]
fst dword [esi*4 + 0x43ecc8]
fcomp dword [0x43923c]
fnstsw ax
test ah, 0x41
jne 0x412cc0
mov dword [esi*4 + 0x43ecc8], 0x3f800000
fld dword [esi*4 + 0x43ece0]
fcomp dword [0x439358]
fnstsw ax
test ah, 1
je 0x412dd7
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], 0
fild qword [esp + 0x98]
fmul dword [0x439350]
fadd dword [esi*4 + 0x43ece0]
fst dword [esi*4 + 0x43ece0]
fcomp dword [0x439358]
fnstsw ax
test ah, 0x41
jne 0x412dd7
mov dword [esi*4 + 0x43ece0], 0x3f933333
jmp 0x412dd7
fcomp dword [0x439354]
mov ecx, dword [0x540738]
fnstsw ax
test ah, 0x41
jne 0x412d7e
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], 0
fild qword [esp + 0xa8]
fmul dword [0x43935c]
fsubr dword [esi*4 + 0x43ecc8]
fst dword [esi*4 + 0x43ecc8]
fcomp dword [0x439354]
fnstsw ax
test ah, 1
je 0x412d7e
mov dword [esi*4 + 0x43ecc8], 0x3f19999a
fld dword [esi*4 + 0x43ece0]
fcomp dword [0x43923c]
fnstsw ax
test ah, 0x41
jne 0x412dd7
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], 0
fild qword [esp + 0xb8]
fmul dword [0x439350]
fsubr dword [esi*4 + 0x43ece0]
fst dword [esi*4 + 0x43ece0]
fcomp dword [0x43923c]
fnstsw ax
test ah, 1
je 0x412dd7
mov dword [esi*4 + 0x43ece0], 0x3f800000
fld dword [esp + 0x3c]
fmul dword [esi*4 + 0x43ecc8]
fstp dword [esp + 0x34]
mov eax, dword [esp + 0x34]
push eax
push eax
push eax
call fcn.0040bca0
lea eax, [esp + 0x4c]
push eax
call fcn.004012b0
mov ecx, dword [esi*4 + 0x43ece0]
lea edx, [esp + 0x50]
push ecx
push edx
call fcn.00401480
mov ecx, dword [esi*4 + 0x5810fc]
lea eax, [esp + 0x58]
push eax
push ecx
call fcn.00401610
fild dword [esp + 0x3c]
mov edx, dword [esi*4 + 0x5b113c]
fmul dword [0x439378]
fsub dword [0x4392b8]
fstp dword [esp + 0x54]
mov edi, dword [esp + 0x54]
push edi
push 0
push 0xbbc49ba6
push edx
call fcn.0040be30
add esp, 0x30
cmp esi, 3
jne 0x412eb5
mov eax, dword [0x5b2ed0]
test eax, eax
lea eax, [esp + 0x40]
push eax
je 0x412e8c
mov ecx, dword [0x581114]
push ecx
call fcn.00401610
mov edx, dword [0x5b1154]
push 0xbc4b295e
push 0
push 0x3ba3d70a
push edx
call fcn.0040be30
add esp, 0x18
jmp 0x412f07
mov ecx, dword [0x581118]
push ecx
call fcn.00401610
mov edx, dword [0x5b1158]
push 0xbc4b295e
push 0
push 0x3ba3d70a
push edx
call fcn.0040be30
add esp, 0x18
jmp 0x412f07
jge 0x412f07
lea eax, [esp + 0x40]
push eax
call fcn.004012b0
lea ecx, [esp + 0x44]
push 0x200
push ecx
call fcn.00401400
lea edx, [esp + 0x4c]
push 0x3e23d70a
push edx
call fcn.00401480
mov ecx, dword [0x57abe0]
lea eax, [esp + 0x54]
push eax
push ecx
call fcn.00401610
mov edx, dword [0x57ac20]
push edi
push 0
push 0x3c1374bc
push edx
call fcn.0040be30
add esp, 0x2c
lea eax, [esp + 0x40]
push eax
call fcn.004012b0
lea ecx, [esp + 0x44]
push 0x200
push ecx
call fcn.00401400
lea edx, [esp + 0x4c]
push ebp
push edx
call fcn.004012f0
lea eax, [esp + 0x54]
push 0x3e19999a
push eax
call fcn.00401480
mov edx, dword [0x57abdc]
lea ecx, [esp + 0x5c]
push ecx
push edx
call fcn.00401610
add esp, 0x24
test esi, esi
jne 0x412f7c
fld dword [0x5b2eb0]
fsub dword [0x439374]
mov eax, dword [0x57edac]
push 0xbb83126f
push esi
push ecx
fmul dword [0x439370]
fadd dword [0x43936c]
fstp dword [esp]
push eax
jmp 0x412fdc
cmp esi, 1
jne 0x412fad
fld dword [0x5b2eb4]
fsub dword [0x439374]
push 0xbbded289
push 0
push ecx
mov ecx, dword [0x57edac]
fmul dword [0x439370]
fadd dword [0x43936c]
fstp dword [esp]
push ecx
jmp 0x412fdc
cmp esi, 2
jne 0x412fe4
fld dword [0x5b2eb8]
fsub dword [0x439374]
mov edx, dword [0x57edac]
push 0xbc1d4952
push 0
push ecx
fmul dword [0x439370]
fadd dword [0x43936c]
fstp dword [esp]
push edx
call fcn.0040be30
add esp, 0x10
inc esi
cmp esi, 6
mov dword [esp + 0x1c], esi
jl 0x412c55
push ebx
push ebx
push ebx
call fcn.0040bca0
mov eax, dword [0x5b1128]
push 0
push 0
push 0
push eax
call fcn.0040be30
fld dword [esp + 0x2c]
fsub dword [0x4392b8]
mov ecx, dword [0x57eda0]
add esp, 0x18
fstp dword [esp]
push 0
push 0xbc75c28f
push ecx
call fcn.0040be30
add esp, 0x10
call fcn.00405cd0
mov ebx, dword [esp + 0x38]
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x28]
xor ebp, ebp
jmp 0x412638
call fcn.004212a0
push ebx
call fcn.0040ac70
add esp, 4
call fcn.00421910
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret