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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffe0
push edi
push esi
push ebx
sub esp, 0x274
mov edi, eax
mov edx, dword [0x7de408]
test edx, edx
je 0x4123fa
test edi, edi
je 0x4123fa
mov esi, dword [0x7dda68]
mov ebx, dword [0x7dda6c]
mov dword [esp + 0x254], 0
movsx eax, byte [0x595088]
jmp 0x411b8d
mov eax, 1
mov byte [0x595088], 1
mov edx, dword [0x7de408]
test eax, eax
je 0x411c14
xor eax, eax
mov byte [0x595088], al
mov ecx, dword [edx]
push eax
push 0x7de44c
push eax
push dword [0x7de400]
push eax
push 1
push ebx
push esi
push edx
call dword [ecx + 0x5c]
test eax, eax
jl 0x411ca4
mov edx, dword [0x7de408]
mov ecx, dword [edx]
push 0
push 0x7de454
push 2
push dword [0x5957c0]
push ebx
push esi
push edx
call dword [ecx + 0x90]
mov dword [0x7de45c], esi
mov dword [0x7de460], ebx
test eax, eax
jl 0x411c74
mov edx, dword [0x7ddfa0]
push dword [edx + 0x10]
push dword [edx + 0xc]
push 0x7e742c
push 0x7e38a0
call fcn.0043a6b8
add esp, 0x10
mov edx, dword [0x7de408]
mov ecx, dword [edx]
push edx
call dword [ecx + 0xc]
test eax, eax
je 0x411c2d
cmp eax, 0x88760869
je 0x411cd1
xor ecx, ecx
jmp 0x411c2f
xor ecx, ecx
movsx eax, byte [0x7dda60]
cmp eax, 1
je 0x412755
test ecx, ecx
je 0x411cdb
cmp eax, 1
jne 0x412775
push 0x7e745c
push 0x7e38a0
call fcn.0043a6b8
add esp, 8
call fcn.00408c98
test eax, eax
jne 0x41278b
jmp 0x411b7b
push 0x7e73f0
push 0x7e38a0
call fcn.0043a6b8
push 0x7e73f0
push 0x7e7424
call fcn.0040d1a0
mov eax, 0xffffffff
add esp, 0x284
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push 0x7e73cc
push 0x7e38a0
call fcn.0043a6b8
push 0x7e73cc
push 0
call fcn.0040d1a0
mov eax, 0xffffffff
add esp, 0x284
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov ecx, 1
jmp 0x411c2f
mov ecx, dword [0x7de44c]
mov eax, dword [ecx]
lea edx, [esp + 0x254]
push edx
push 0
push ecx
call dword [eax + 0x48]
test eax, eax
jne 0x412409
mov ecx, dword [0x7de454]
mov eax, dword [0x7ddfa0]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x244], edx
mov edx, dword [eax + 0x10]
mov dword [esp + 0x250], edx
mov eax, dword [ecx]
xor edx, edx
push edx
push edx
lea edx, [esp + 0x250]
push edx
push ecx
mov edx, dword [esp + 0x254]
mov dword [esp + 0x254], edx
mov dword [esp + 0x250], ecx
call dword [eax + 0x34]
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x244]
test eax, eax
jl 0x412741
mov eax, dword [esp + 0x250]
test eax, eax
jle 0x411dbf
xor eax, eax
add edx, edx
add edx, edx
mov dword [esp + 0x240], ecx
mov dword [esp + 0x238], ebx
mov dword [esp + 0x23c], esi
mov esi, eax
mov ebx, edx
mov ecx, esi
imul ecx, dword [esp + 0x248]
add ecx, dword [esp + 0x24c]
push ebx
push edi
push ecx
call dword [0x5b248c]
add esp, 0xc
add edi, ebx
inc esi
mov ecx, dword [esp + 0x250]
cmp esi, ecx
jl 0x411d7f
mov ecx, dword [esp + 0x240]
mov ebx, dword [esp + 0x238]
mov esi, dword [esp + 0x23c]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x38]
test eax, eax
jl 0x412709
mov edx, dword [0x7de408]
mov ecx, dword [edx]
xor eax, eax
push eax
push dword [esp + 0x258]
push eax
push dword [0x7de454]
push edx
call dword [ecx + 0x78]
test eax, eax
je 0x411e3a
mov eax, dword [esp + 0x254]
test eax, eax
je 0x411dff
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov dword [esp + 0x254], 0
push 0x7e748c
push 0x7e38a0
call fcn.0043a6b8
push 0x7e748c
push 0x7e7424
call fcn.0040d1a0
mov eax, 0xffffffff
add esp, 0x284
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x254]
test eax, eax
je 0x411e4b
mov edx, dword [eax]
push eax
call dword [edx + 8]
movsx eax, byte [0x7dddb8]
test eax, eax
jne 0x4123fa
mov dword [esp + 0x254], 0
mov eax, dword [0x7de408]
mov edx, dword [eax]
push eax
call dword [edx + 0xa4]
test eax, eax
jl 0x4126f2
mov edx, dword [0x7de408]
mov ecx, dword [edx]
xor eax, eax
push eax
push 0x3f800000
push 0xff000000
push 1
push eax
push eax
push edx
call dword [ecx + 0xac]
test eax, eax
jl 0x4126db
cmp byte [0x7ddc04], 1
je 0x412482
cmp byte [0x7ddc08], 1
je 0x412482
fld qword [0x570350]
fld qword [0x570350]
fstp qword [esp + 0x220]
fld qword [0x570350]
fstp qword [esp + 0x218]
mov dword [esp + 0x210], esi
fild dword [esp + 0x210]
fstp qword [esp + 0x228]
mov dword [esp + 0x210], ebx
fild dword [esp + 0x210]
mov ecx, dword [0x7ddfa0]
mov edx, dword [ecx + 0xc]
test edx, edx
je 0x411f3a
mov eax, dword [0x7ddd04]
imul eax, esi
mov dword [esp + 0x210], eax
fild dword [esp + 0x210]
mov dword [esp + 0x210], edx
fild dword [esp + 0x210]
fdivp st(1)
fstp qword [esp + 0x228]
mov edx, dword [ecx + 0x10]
test edx, edx
je 0x411f69
fstp st(0)
mov eax, dword [0x7ddd08]
imul eax, ebx
mov dword [esp + 0x210], eax
fild dword [esp + 0x210]
mov dword [esp + 0x210], edx
fild dword [esp + 0x210]
fdivp st(1)
fadd qword [esp + 0x218]
fst qword [esp + 0xc]
fxch st(1)
fstp qword [esp + 0x14]
mov dword [esp + 0x20], 0x80000000
mov dword [esp + 0x24], 0xbee4f8b5
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0x3fefffeb
lea eax, [esp + 0x38]
fld qword [esp + 0x220]
mov edx, 0xffffffff
fxch st(1)
fstp qword [esp + 0x230]
call fcn.0040f7d8
fld qword [esp + 0x230]
xor ecx, ecx
mov edi, 0x3fefffeb
fld qword [esp + 0x228]
fadd qword [esp + 0x220]
fst qword [esp + 0x228]
fxch st(1)
fstp qword [esp + 0xc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edi
lea eax, [esp + 0x8c]
mov edx, 0xffffffff
call fcn.0040f7d8
mov edi, 0x80000000
mov eax, 0xbee4f8b5
fld qword [esp + 0x218]
fstp qword [esp + 0xc]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xe0]
fld qword [esp + 0x220]
mov edx, 0xffffffff
call fcn.0040f7d8
fld qword [esp + 0x218]
fstp qword [esp + 0xc]
xor ecx, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], 0x3fefffeb
mov dword [esp + 0x28], 0x80000000
mov dword [esp + 0x2c], 0xbee4f8b5
lea eax, [esp + 0x134]
fld qword [esp + 0x228]
mov edx, 0xffffffff
call fcn.0040f7d8
fld qword [0x570358]
fild dword [0x7ddcf4]
fmul st(1)
fst qword [esp + 0x218]
fild dword [0x7ddcf8]
fmulp st(2)
fxch st(1)
fst qword [esp + 0x220]
xor ecx, ecx
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1b4], ecx
mov dword [esp + 0x1b0], ecx
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x1a8], ecx
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x19c], ecx
mov dword [esp + 0x198], ecx
mov dword [esp + 0x194], ecx
mov edx, 0x3f800000
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x190], edx
mov dword [esp + 0x208], ecx
mov dword [esp + 0x204], ecx
mov dword [esp + 0x200], ecx
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f0], ecx
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1d8], ecx
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x20c], edx
mov dword [esp + 0x1f8], edx
mov dword [esp + 0x1e4], edx
mov dword [esp + 0x1d0], edx
fxch st(1)
fchs
fxch st(1)
fchs
fstp dword [esp + 8]
mov dword [esp + 0xc], ecx
lea eax, [esp + 0x38]
call fcn.004127a4
xor eax, eax
lea edx, [esp + 0x1d0]
push eax
push eax
push eax
push edx
call fcn.004c05dd
xor edi, edi
lea eax, [esp + 0x190]
push dword [esp + edi + 0x40]
push dword [esp + edi + 0x40]
push dword [esp + edi + 0x40]
push eax
call fcn.004c014b
lea edx, [esp + 0x190]
lea eax, [esp + 0x1d0]
push eax
push edx
push edx
call fcn.004bf7ba
mov eax, dword [esp + 0x1c0]
mov dword [esp + edi + 0x38], eax
mov edx, dword [esp + 0x1c4]
mov dword [esp + edi + 0x3c], edx
mov ecx, dword [esp + 0x1c8]
mov dword [esp + edi + 0x40], ecx
add edi, 0x54
cmp edi, 0x150
jl 0x4121d4
fld qword [esp + 0x220]
fstp dword [esp + 8]
mov dword [esp + 0xc], 0
lea eax, [esp + 0x38]
fld qword [esp + 0x218]
call fcn.004127a4
mov eax, dword [0x7de408]
mov edx, dword [eax]
push dword [0x7de44c]
push 0
push eax
call dword [edx + 0x104]
test eax, eax
je 0x412290
push 0x7e7568
push 0x7e38a0
call fcn.0043a6b8
add esp, 8
mov eax, 0xffffffff
add esp, 0x274
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov eax, dword [0x7de408]
mov edx, dword [eax]
push 2
push 1
push 0
push eax
call dword [edx + 0x10c]
test eax, eax
je 0x4122ba
push 0x7e757c
push 0x7e38a0
call fcn.0043a6b8
add esp, 8
mov edx, dword [0x7de408]
mov ecx, dword [edx]
xor eax, eax
push eax
push 2
push eax
push edx
call dword [ecx + 0x10c]
test eax, eax
je 0x4122e5
push 0x7e7594
push 0x7e38a0
call fcn.0043a6b8
add esp, 8
mov eax, dword [0x7de408]
mov edx, dword [eax]
push 0
push eax
call dword [edx + 0x1ac]
mov eax, dword [0x7de520]
test eax, eax
je 0x4123a1
mov edx, dword [eax]
push dword [0x7de524]
push eax
call dword [edx + 0xf0]
mov edx, dword [0x7de520]
mov ecx, dword [edx]
xor eax, eax
push eax
push eax
push edx
call dword [ecx + 0x104]
mov eax, dword [0x7de520]
mov edx, dword [eax]
push 0
push eax
call dword [edx + 0x108]
mov eax, dword [0x7de520]
mov edx, dword [eax]
push dword [0x7de44c]
push 0x7e75ac
push eax
call dword [edx + 0xd0]
mov dword [esp + 0x210], esi
fild dword [esp + 0x210]
mov dword [esp + 0x210], ebx
fild dword [esp + 0x210]
fxch st(1)
fstp dword [esp + 0x188]
fstp dword [esp + 0x18c]
mov edx, dword [0x7de520]
mov ecx, dword [edx]
lea eax, [esp + 0x188]
push 8
push eax
push 0x7e75b8
push edx
call dword [ecx + 0x50]
cmp byte [0x7dda94], 3
je 0x41242e
mov edx, dword [0x7de408]
mov ecx, dword [edx]
lea eax, [esp + 0x38]
push 0x54
push eax
push 2
push 5
push edx
call dword [ecx + 0x14c]
test eax, eax
jne 0x41227e
mov eax, dword [0x7de520]
test eax, eax
je 0x4123e3
mov edx, dword [eax]
push eax
call dword [edx + 0x110]
mov eax, dword [0x7de520]
mov edx, dword [eax]
push eax
call dword [edx + 0x114]
mov eax, dword [0x7de408]
mov edx, dword [eax]
push eax
call dword [edx + 0xa8]
test eax, eax
jl 0x41246b
call fcn.004128ac
xor eax, eax
add esp, 0x274
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push 0
push 1
push 0x7e74e0
push 0x7e38a0
call fcn.0043a6b8
mov eax, 0xffffffff
add esp, 0x284
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x210], esi
fild dword [esp + 0x210]
fdivr qword [0x570370]
fstp dword [esp + 0x30]
mov dword [esp + 0x34], 0
mov edx, dword [0x7de520]
mov ecx, dword [edx]
lea eax, [esp + 0x30]
push 8
push eax
push 0x7e75c4
push edx
call dword [ecx + 0x50]
jmp 0x4123a1
push 0x7e75d0
push 0x7e38a0
call fcn.0043a6b8
add esp, 8
jmp 0x4123f5
movsx eax, byte [0x7ddd1c]
cmp eax, 1
je 0x412646
cmp eax, 2
je 0x4125b1
cmp eax, 3
je 0x412548
fld qword [0x570350]
fldz
fldz
fstp qword [esp + 0x228]
fldz
fstp qword [esp + 0x218]
fldz
fstp qword [esp + 0x220]
test eax, eax
jne 0x411f69
fstp st(0)
mov edx, dword [0x7ddfa0]
fld qword [0x570358]
mov eax, dword [0x7ddcf4]
sub eax, dword [edx + 0xc]
mov dword [esp + 0x210], eax
fild dword [esp + 0x210]
fmul st(1)
fadd st(2)
fstp qword [esp + 0x220]
mov ecx, dword [0x7ddcf8]
sub ecx, dword [edx + 0x10]
mov dword [esp + 0x210], ecx
fild dword [esp + 0x210]
fmulp st(1)
fadd st(1)
fstp qword [esp + 0x218]
mov dword [esp + 0x210], esi
fild dword [esp + 0x210]
fstp qword [esp + 0x228]
mov dword [esp + 0x210], ebx
fild dword [esp + 0x210]
jmp 0x411f69
fld qword [0x570350]
fld qword [0x570350]
fstp qword [esp + 0x220]
fld qword [0x570350]
fstp qword [esp + 0x218]
mov ecx, dword [0x7ddfa0]
mov eax, dword [0x7ddcf4]
imul eax, esi
mov dword [esp + 0x210], eax
fild dword [esp + 0x210]
fild dword [ecx + 0xc]
fdivp st(1)
fstp qword [esp + 0x228]
mov edx, dword [0x7ddcf8]
imul edx, ebx
mov dword [esp + 0x210], edx
fild dword [esp + 0x210]
fild dword [ecx + 0x10]
fdivp st(1)
jmp 0x411f69
mov dword [esp + 0x238], ebx
mov edi, dword [0x7ddfa0]
mov ebx, dword [edi + 0x10]
fld qword [0x570350]
mov ecx, dword [0x7ddcf8]
mov eax, dword [edi + 0xc]
imul eax, ecx
cdq
idiv ebx
mov edx, dword [0x7ddcf4]
sub edx, eax
mov dword [esp + 0x210], edx
fild dword [esp + 0x210]
fmul qword [0x570358]
fadd st(1)
fstp qword [esp + 0x220]
fld qword [0x570350]
fstp qword [esp + 0x218]
fild dword [edi + 0x10]
mov eax, esi
imul eax, ecx
mov dword [esp + 0x210], eax
fild dword [esp + 0x210]
fdiv st(1)
fstp qword [esp + 0x228]
mov ebx, dword [esp + 0x238]
imul ecx, ebx
mov dword [esp + 0x210], ecx
fild dword [esp + 0x210]
fdivrp st(1)
jmp 0x411f69
mov dword [esp + 0x238], ebx
fld qword [0x570350]
fld qword [0x570350]
fstp qword [esp + 0x220]
mov edi, dword [0x7ddfa0]
mov ebx, dword [edi + 0xc]
mov ecx, dword [0x7ddcf4]
mov eax, dword [edi + 0x10]
imul eax, ecx
cdq
idiv ebx
mov edx, dword [0x7ddcf8]
sub edx, eax
mov dword [esp + 0x210], edx
fild dword [esp + 0x210]
fmul qword [0x570358]
fadd st(1)
fstp qword [esp + 0x218]
fild dword [edi + 0xc]
mov eax, esi
imul eax, ecx
mov dword [esp + 0x210], eax
fild dword [esp + 0x210]
fdiv st(1)
fstp qword [esp + 0x228]
mov ebx, dword [esp + 0x238]
imul ecx, ebx
mov dword [esp + 0x210], ecx
fild dword [esp + 0x210]
fdivrp st(1)
jmp 0x411f69
push 0x7e7554
push 0x7e38a0
call fcn.0043a6b8
add esp, 8
jmp 0x411ea3
push 0x7e7540
push 0x7e38a0
call fcn.0043a6b8
add esp, 8
jmp 0x411e7b
push 0x7e7980
push 0x7e38a0
call fcn.0043a6b8
add esp, 8
push 0x7e74b0
push 0x7e38a0
call fcn.0043a6b8
push 0x7e74b0
push 0x7e7424
call fcn.0040d1a0
add esp, 0x10
jmp 0x411e3a
push 0x7e796c
push 0x7e38a0
call fcn.0043a6b8
add esp, 8
jmp 0x41271b
movsx edx, byte [0x7ddd34]
test edx, edx
je 0x411c3f
mov byte [0x7ddd34], 0
mov ecx, 1
jmp 0x411c3f
mov byte [0x595088], 1
xor eax, eax
add esp, 0x274
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
xor eax, eax
add esp, 0x274
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret