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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov ecx, dword [0x10a888f0]
sub esp, 0x64
push ebx
xor ebx, ebx
push esi
push edi
cmp byte [ecx + 0x29], bl
jne 0x100394a2
cmp dword [0x10a76e44], ebx
je 0x10039ef4
mov dword [0x10a76e44], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0xe61e18]
cmp eax, 0x6b
je 0x10039eeb
cmp eax, 0x6d
je 0x10039eeb
push 0x39
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100395f3
push 0x10
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100395f3
push 0xc
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100395f3
push 0x15
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100395f3
push 0x21
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100395f3
push 1
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100395f3
push 0x4f
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100395f3
push 0xe
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100395f3
push 8
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100395f3
push 7
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100395f3
push 0x41
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100395f3
push 2
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
jne 0x100395f3
push 9
mov eax, 0x861110
call eax
mov edx, 0x85ec20
mov ecx, eax
call edx
test al, al
je 0x1003960e
mov eax, dword [0x10a888f0]
cmp byte [eax + 0x29], 1
jne 0x10039613
mov byte [eax + 0x29], bl
mov dword [0xe8cb3c], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x10a888f0]
mov ecx, dword [0x10a88a30]
cmp ecx, dword [0x10a88a34]
jne 0x10039629
mov byte [eax + 0x29], bl
mov eax, dword [0x10a888f0]
fld dword [eax + 0x18]
push 0x108f6600
fstp dword [esp + 0x28]
mov ebx, eax
fld dword [eax]
mov word [esp + 0x14], 0x100
fstp dword [esp + 0x2c]
mov byte [esp + 0x16], 2
fld dword [eax + 4]
fstp dword [esp + 0x24]
fld dword [esp + 0x28]
fmul qword [0x1013f510]
fadd dword [esp + 0x2c]
fstp dword [esp + 0x40]
fld dword [eax + 0x1c]
fadd dword [esp + 0x24]
fstp dword [esp + 0x50]
call fcn.100264b0
fld dword [esp + 0x28]
add esp, 4
call fcn.1012e5b0
fld dword [esp + 0x20]
fadd qword [0x1013f918]
mov esi, eax
fst qword [esp + 0x58]
fld dword [esp + 0x28]
call fcn.1012e5b0
push 0x10929f00
push 0
push esi
push 0
push 0xff6600ff
mov edi, eax
call fcn.1012e5b0
mov edx, dword [0xe8c588]
push eax
push edi
push edx
mov cl, 3
call fcn.10025780
fld qword [esp + 0x78]
fadd qword [0x1013f6d8]
add esp, 0x20
push 0x1092a158
push 0
push esi
push 0
push 0xff6600ff
call fcn.1012e5b0
push eax
mov eax, dword [0xe8c588]
push edi
push eax
mov cl, 3
call fcn.10025780
fld dword [esp + 0x48]
fadd qword [0x1013f580]
add esp, 0x20
fstp dword [esp + 0x28]
fld dword [esp + 0x20]
fadd qword [0x1013f758]
fstp dword [esp + 0x2c]
fld dword [esp + 0x2c]
fadd qword [0x1013f6d8]
call fcn.1012e5b0
fld dword [esp + 0x28]
fadd qword [0x1013fc50]
push 0x1092e2f8
push 0
push 0x8a
fst qword [esp + 0x6c]
push 0xd69015a9
fadd qword [0x1013f760]
mov esi, eax
push 0xffffffffffffffff
push esi
fst qword [esp + 0x80]
fadd qword [0x1013fb00]
fst qword [esp + 0x68]
call fcn.1012e5b0
push eax
mov ecx, dword [0xe8c588]
push ecx
mov cl, 3
call fcn.10025780
fld qword [esp + 0x70]
fadd qword [0x10140728]
add esp, 0x20
push 0x1092e550
push 0
push 0x28
fst qword [esp + 0x64]
push 0x15d6c9a9
push 0xffffffffffffffff
push esi
call fcn.1012e5b0
mov edx, dword [0xe8c588]
push eax
push edx
mov cl, 3
call fcn.10025780
fld qword [esp + 0x78]
fadd qword [0x1013f750]
add esp, 0x20
push 0x1092e7a8
push 0
push 0x28
push 0x9c15d6a9
push 0xffffffffffffffff
push esi
call fcn.1012e5b0
push eax
mov eax, dword [0xe8c588]
push eax
mov cl, 3
call fcn.10025780
mov ecx, dword [0x10a76e44]
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov eax, ecx
add esp, 0x20
shl eax, 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], ecx
mov esi, 0xe8c588
mov dword [esp + 0x20], eax
jmp 0x10039808
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov edi, dword [0x10a88a34]
fldz
mov edx, dword [0x10a88a30]
fld qword [0x1013fd80]
fld dword [0x10150fa8]
sub edi, edx
fld qword [0x1013f600]
sar edi, 4
cmp ecx, edi
jae 0x10039d65
mov ebx, dword [eax + edx]
mov edi, dword [eax + edx + 4]
mov dword [esp + 0x48], ebx
cmp ebx, 0x180f
je 0x10039860
cmp ebx, 0x1c1f
je 0x10039858
fxch st(3)
fst dword [esp + 0x30]
jmp 0x1003986c
fld dword [0x10140240]
jmp 0x10039866
fld dword [0x1013f664]
fstp dword [esp + 0x30]
fxch st(3)
fild dword [esp + 0x1c]
sub esp, 0x20
test byte [esp + 0x3c], 1
fmul st(3)
fadd dword [esp + 0x4c]
fst qword [esp + 0x78]
faddp st(3)
fxch st(2)
fstp dword [esp + 0x38]
je 0x100398b6
fld dword [0x1013f674]
fstp dword [esp + 0x1c]
fxch st(1)
fst dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fstp dword [esp + 0xc]
fsubr dword [esp + 0x44]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
jmp 0x100398de
fld dword [0x1013f8e8]
fstp dword [esp + 0x1c]
fxch st(1)
fst dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fstp dword [esp + 0xc]
fsubr dword [esp + 0x44]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fstp dword [esp + 8]
fld dword [esp + 0x38]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
call fcn.100107a0
fld1
add esp, 0x20
push ecx
fstp dword [esp]
fld dword [0x1013f908]
add edi, edi
push 0
add edi, edi
push 0
add edi, edi
push edi
sub esp, 0x10
fst dword [esp + 0xc]
mov eax, ebx
fstp dword [esp + 8]
fld dword [esp + 0x50]
fadd qword [esp + 0x78]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fstp dword [esp + 4]
fld dword [esp + 0x48]
fstp dword [esp]
call fcn.100c7b80
fld qword [esp + 0x58]
fadd qword [0x1013fa40]
fst qword [esp + 0x30]
call fcn.1012e5b0
mov ecx, dword [esp + 0x48]
push ecx
mov ecx, edi
mov ebx, eax
call fcn.10066b90
fld qword [esp + 0x64]
add esp, 4
push eax
push 0
push 0x64
push 0
push 0xffffffffffffffa9
push ebx
call fcn.1012e5b0
mov edx, dword [esi]
push eax
push edx
mov cl, 3
call fcn.10025780
fld qword [esp + 0x88]
mov eax, dword [0x10a88a30]
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + eax + 8]
add esp, 0x20
push edx
push 0x101364a0
push 0
push 0x3c
push 0
push 0xffdd00a9
push ebx
call fcn.1012e5b0
push eax
mov eax, dword [esi]
push eax
mov cl, 3
call fcn.10025780
fld qword [esp + 0x74]
fadd qword [0x1013f6d0]
add esp, 0xc
fst qword [esp + 0x58]
fld dword [0x1013fb20]
fst dword [esp + 0x14]
fld dword [0x1013f828]
fst dword [esp + 0x10]
fxch st(1)
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x30]
lea eax, [esp + 0x28]
fstp dword [esp + 4]
mov edi, 0x7b82
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fstp dword [esp]
call fcn.1010d780
test al, al
je 0x10039a1b
mov ecx, dword [esp + 0x14]
push ecx
push 0
call fcn.10039410
add esp, 8
fld qword [esp + 0x40]
call fcn.1012e5b0
fld qword [esp + 0x58]
fadd qword [0x1013fa48]
mov edi, eax
call fcn.1012e5b0
mov edx, dword [esi]
push 0x10135fac
push 0
push 0x1a
push 0
push 0xffffffffffffffbe
mov ebx, eax
push ebx
push edi
push edx
mov cl, 3
call fcn.10025780
fld qword [esp + 0x70]
fadd qword [0x1013fa40]
add esp, 8
lea eax, [esp + 0x28]
mov edi, 0x7b82
fst qword [esp + 0x70]
fld dword [0x1013fb20]
fst dword [esp + 0x14]
fld dword [0x1013f828]
fst dword [esp + 0x10]
fxch st(1)
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x30]
fstp dword [esp + 4]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fstp dword [esp]
call fcn.1010d780
test al, al
je 0x10039ab3
mov eax, dword [esp + 0x14]
push eax
push 1
call fcn.10039410
add esp, 8
fld qword [esp + 0x58]
call fcn.1012e5b0
mov ecx, dword [esi]
push 0x101364a4
push 0
push 0x1a
push 0
push 0xffffffffffffffbe
push ebx
push eax
push ecx
mov cl, 3
call fcn.10025780
fld qword [esp + 0x70]
fadd qword [0x101405c8]
add esp, 8
lea eax, [esp + 0x28]
fst qword [esp + 0x70]
fld dword [0x1013fb20]
fst dword [esp + 0x14]
fld dword [0x1013f828]
fst dword [esp + 0x10]
fxch st(1)
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x30]
fstp dword [esp + 4]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fstp dword [esp]
call fcn.1010d780
test al, al
je 0x10039b33
mov edx, dword [esp + 0x14]
push edx
push 2
call fcn.10039410
add esp, 8
fld qword [esp + 0x58]
call fcn.1012e5b0
push 0x101364a8
push 0
push 0x1a
push 0
push 0xffffffffffffffbe
push ebx
push eax
mov eax, dword [esi]
push eax
mov cl, 3
call fcn.10025780
fld qword [esp + 0x70]
fadd qword [0x10140250]
add esp, 8
lea eax, [esp + 0x28]
fst qword [esp + 0x70]
fld dword [0x1013fb20]
fst dword [esp + 0x14]
fld dword [0x1013f828]
fst dword [esp + 0x10]
fxch st(1)
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x30]
fstp dword [esp + 4]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fstp dword [esp]
call fcn.1010d780
test al, al
je 0x10039bb3
mov ecx, dword [esp + 0x14]
push ecx
push 3
call fcn.10039410
add esp, 8
fld qword [esp + 0x58]
call fcn.1012e5b0
mov edx, dword [esi]
push 0x101364ac
push 0
push 0x1a
push 0
push 0xffffffffffffffbe
push ebx
push eax
push edx
mov cl, 3
call fcn.10025780
fld qword [esp + 0x70]
fadd qword [0x1013f9c0]
add esp, 8
lea eax, [esp + 0x28]
fst qword [esp + 0x70]
fld dword [0x1013fb20]
fst dword [esp + 0x14]
fld dword [0x1013f828]
fst dword [esp + 0x10]
fxch st(1)
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x30]
fstp dword [esp + 4]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fstp dword [esp]
call fcn.1010d780
test al, al
je 0x10039c33
mov eax, dword [esp + 0x14]
push eax
push 4
call fcn.10039410
add esp, 8
fld qword [esp + 0x58]
call fcn.1012e5b0
mov ecx, dword [esi]
push 0x101364b0
push 0
push 0x1a
push 0
push 0xffffffffffffffbe
push ebx
push eax
push ecx
mov cl, 3
call fcn.10025780
fld qword [esp + 0x70]
fadd qword [0x1013f590]
add esp, 8
lea eax, [esp + 0x28]
mov edi, 0x7b81
fst qword [esp + 0x70]
fld dword [0x1013fb28]
fst dword [esp + 0x14]
fld dword [0x1013f7a4]
fst dword [esp + 0x10]
fxch st(1)
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x30]
fstp dword [esp + 4]
fstp dword [esp + 0x60]
fld dword [esp + 0x60]
fstp dword [esp]
call fcn.1010d780
test al, al
je 0x10039cb8
mov edx, dword [esp + 0x14]
push edx
push 5
call fcn.10039410
add esp, 8
fld qword [esp + 0x58]
call fcn.1012e5b0
push 0x1092ea00
push 0
push 0x26
push 0
push 0xffffffffffffffbe
push ebx
push eax
mov eax, dword [esi]
push eax
mov cl, 3
call fcn.10025780
fld qword [esp + 0x50]
mov ecx, dword [0x10a88a30]
fstp dword [esp + 0x68]
mov edx, dword [esp + 0x40]
fld dword [esp + 0x68]
add esp, 0x20
cmp dword [edx + ecx + 0xc], 0
push 0x10135e76
setne al
movzx ecx, al
push ecx
push 0xffcc00c8
sub esp, 8
fstp dword [esp + 4]
fld qword [esp + 0x64]
fadd qword [0x1013fdf0]
fadd qword [0x1013f600]
fstp dword [esp + 0x5c]
fld dword [esp + 0x5c]
fstp dword [esp]
call fcn.100c79e0
add esp, 0x14
test al, al
je 0x10039d46
mov edx, dword [esp + 0x14]
push edx
push 6
call fcn.10039410
add esp, 8
mov eax, dword [esp + 0x1c]
inc dword [esp + 0x14]
add dword [esp + 0x20], 0x10
inc eax
mov dword [esp + 0x1c], eax
cmp eax, 8
jl 0x10039800
fldz
jmp 0x10039d6b
fstp st(2)
fstp st(0)
fstp st(0)
fld dword [esp + 0x4c]
push ecx
fsub qword [0x1013f750]
mov eax, 0x637c60
fst qword [esp + 0x6c]
fstp dword [esp + 0x34]
fld dword [esp + 0x40]
fsub qword [0x1013fa48]
fst qword [esp + 0x5c]
fxch st(1)
fst dword [esp]
push 1
fld dword [0x10140bdc]
push 1
sub esp, 0x20
fstp dword [esp + 0x1c]
fld dword [0x10140710]
fstp dword [esp + 0x18]
fst dword [esp + 0x14]
fstp dword [esp + 0x10]
fld dword [0x1013fb20]
fstp dword [esp + 0xc]
fld dword [0x1013f910]
fstp dword [esp + 8]
fld dword [esp + 0x5c]
fstp dword [esp + 4]
fstp dword [esp + 0x78]
fld dword [esp + 0x78]
fstp dword [esp]
push 0x7e58
call eax
fld qword [esp + 0x98]
mov ecx, dword [0x10a88a34]
fadd qword [0x1013f6c0]
sub ecx, dword [0x10a88a30]
mov edx, dword [0x10a76e44]
add esp, 0x30
sar ecx, 4
shr ecx, 3
inc ecx
push ecx
inc edx
push edx
push str._d____d
push 0
push 0x3c
push 0
push 0xffffffffffffffff
call fcn.1012e5b0
fld qword [esp + 0x74]
push eax
call fcn.1012e5b0
push eax
mov eax, dword [0x116de53c]
push eax
mov cl, 3
call fcn.1008a600
fld dword [0x1013fb20]
add esp, 0x28
push 0x10039380
sub esp, 0x18
fst dword [esp + 0x14]
lea esi, [esp + 0x2c]
fld dword [0x10150fa8]
mov edi, 0x7e59
fst dword [esp + 0x10]
fxch st(1)
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld qword [esp + 0x74]
fsub qword [0x101402f8]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fstp dword [esp]
call fcn.1010d5b0
fld dword [0x1013fb20]
push 0x100393c0
sub esp, 0x18
fst dword [esp + 0x14]
fld dword [0x10150fa8]
mov edi, 0x7e5a
fst dword [esp + 0x10]
fxch st(1)
fstp dword [esp + 0xc]
fstp dword [esp + 8]
fld dword [esp + 0x4c]
fstp dword [esp + 4]
fld dword [esp + 0x58]
fadd qword [0x1013fa48]
fadd qword [0x1013f6f8]
fstp dword [esp + 0x68]
fld dword [esp + 0x68]
fstp dword [esp]
call fcn.1010d5b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ecx + 0x29], bl
mov dword [0xe8cb3c], ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret