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

Disassembly:
sub esp, 0x138
mov eax, dword [0x101e7a68]
mov ecx, dword [eax + 0x1994]
mov byte [ecx + 0x7c], 1
push edi
mov edi, dword [eax + 0x1994]
cmp byte [edi + 0x7f], 0
mov dword [esp + 0xa0], edi
je 0x10068d83
xor al, al
pop edi
add esp, 0x138
ret
mov eax, dword [esp + 0x150]
mov edx, eax
shr edx, 0xe
not dl
and dl, 1
mov byte [esp + 5], dl
push ebx
mov edx, eax
mov ecx, eax
mov ebx, eax
shr edx, 0x10
shr ecx, 0x14
shr ebx, 0xf
shr eax, 0x12
and cl, 1
not dl
push ebp
mov ebp, dword [0x101e7a68]
and bl, 1
and dl, 1
and al, 1
test cl, cl
mov dword [esp + 0x2c], ebp
mov byte [esp + 0xc], cl
mov byte [esp + 0x43], bl
mov byte [esp + 0x22], dl
mov byte [esp + 0x52], al
je 0x10068ddc
call fcn.1004c2e0
push esi
mov esi, dword [esp + 0x14c]
push 0
push esi
mov ecx, edi
call fcn.10045640
fld dword [0x101a1be4]
push ecx
fstp dword [esp]
push 1
push 0
lea edx, [esp + 0x104]
push esi
push edx
mov dword [esp + 0x64], eax
call fcn.10040120
add esp, 0x14
cmp byte [esp + 0x10], 0
je 0x10068e25
call fcn.10041830
fmul qword [0x101a57f0]
jmp 0x10068e2c
fld dword [esp + 0xfc]
fld dword [ebp + 0x1548]
push ecx
fadd st(0), st(0)
faddp st(1)
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fstp dword [esp]
call fcn.10051b70
mov eax, dword [esp + 0x15c]
mov edx, dword [eax]
push ecx
mov ecx, dword [eax + 4]
fstp dword [esp]
push ecx
push edx
lea eax, [esp + 0xb4]
push eax
call fcn.1004e900
fld dword [esp + 0xb8]
fadd dword [edi + 0xc8]
mov ecx, dword [edi + 0xc8]
add esp, 0x14
fstp dword [esp + 0x74]
mov eax, dword [esp + 0x74]
fld dword [edi + 0xcc]
mov dword [esp + 0x8c], ecx
fadd dword [esp + 0xa8]
mov edx, dword [edi + 0xcc]
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], edx
fstp dword [esp + 0x78]
mov eax, dword [esp + 0x78]
fldz
mov dword [esp + 0x98], eax
fld dword [esp + 0xf8]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
fldz
jne 0x10068edb
fld dword [ebp + 0x155c]
faddp st(2)
jmp 0x10068ee1
fstp st(1)
fld st(0)
fxch st(1)
cmp byte [esp + 0x10], 0
fxch st(1)
fstp dword [esp + 0x3c]
mov dword [esp + 0x128], ecx
fld dword [esp + 0x3c]
mov dword [esp + 0x12c], edx
fadd dword [esp + 0x74]
mov dword [esp + 0x4c], edi
fstp dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x130], ecx
fadd dword [esp + 0x78]
fstp dword [esp + 0x64]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x134], edx
je 0x10068fcf
mov esi, dword [esp + 0x50]
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x12c]
push esi
push ecx
call fcn.1004b190
fld dword [esp + 0xa0]
fsub dword [esp + 0x98]
push 0
lea edx, [esp + 0x4c]
push edx
fstp dword [esp + 0x50]
push esi
fld dword [esp + 0xb0]
fsub dword [esp + 0xa8]
fstp dword [esp + 0x58]
call fcn.10053520
add esp, 0x18
test al, al
jne 0x10068f97
call fcn.100535a0
call fcn.1004c430
pop esi
pop ebp
pop ebx
xor al, al
pop edi
add esp, 0x138
ret
mov eax, dword [0x101e7a68]
mov ecx, dword [eax + 0x1994]
mov byte [ecx + 0x7c], 1
mov eax, dword [eax + 0x1994]
mov edx, dword [eax + 0x138]
or dword [eax + 0x140], edx
fld dword [esp + 0xa4]
fsub dword [eax + 0x70]
mov dword [esp + 0x4c], eax
fstp dword [esp + 0xa4]
jmp 0x10069007
fld dword [ebp + 0x1548]
push ecx
lea eax, [esp + 0x12c]
fstp dword [esp]
push eax
call fcn.10045950
mov esi, dword [esp + 0x58]
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x134]
push esi
push edx
call fcn.1004b190
add esp, 0x14
test al, al
je 0x10068f8a
lea eax, [esp + 0x8c]
push esi
push eax
call fcn.10045a20
add esp, 8
test al, al
mov byte [esp + 0x16], al
je 0x1006902a
mov dword [ebp + 0x1c50], 1
test bl, bl
je 0x1006909f
mov ecx, dword [ebp + 0x18b0]
push 0x2a
call fcn.100796e0
mov edx, dword [ebp + 0x18b0]
fld dword [edx]
lea ecx, [ebp + 0x2b7c]
fstp dword [ecx]
mov edx, dword [ebp + 0x18b0]
fld dword [edx + 4]
push ecx
fstp dword [ecx + 4]
mov edx, dword [ebp + 0x18b0]
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp + 0x18b0]
fld dword [edx + 0x48]
fstp dword [ecx + 0x48]
mov edx, dword [ebp + 0x18b0]
fld dword [edx + 0x4c]
fstp dword [ecx + 0x4c]
mov edx, dword [ebp + 0x18b0]
mov edx, dword [edx + 0x44]
mov dword [ecx + 0x44], edx
mov dword [ecx + 0x34], eax
fld dword [eax + 4]
fstp dword [ecx + 0x38]
call fcn.1004bcd0
add esp, 4
test dword [esp + 0x15c], 0x440
mov ebx, dword [esp + 0x50]
sete al
lea esi, [ebp + 0x1d0c]
push eax
push ebx
push edi
call fcn.10045ae0
add esp, 0xc
test al, al
mov byte [esp + 0x17], al
je 0x100690dc
mov ecx, dword [edi + 0x328]
cmp ecx, dword [edi + 0x330]
jne 0x100690dc
mov al, 1
jmp 0x100690de
xor al, al
cmp byte [esp + 0x17], 0
mov byte [esp + 0x1f], al
je 0x100690f2
test al, al
mov byte [esp + 0x14], 1
je 0x100690f7
mov byte [esp + 0x14], 0
cmp byte [esp + 0x16], 0
je 0x1006910c
cmp byte [ebp + 0x3e0], 0
mov byte [esp + 0x15], 1
jne 0x10069111
mov byte [esp + 0x15], 0
cmp byte [esp + 0x10], 0
je 0x10069141
cmp dword [ebp + 0x19b4], 0
jne 0x10069141
cmp dword [esi], ebx
jne 0x10069141
mov ecx, dword [esp + 0x4c]
push 0
push 0x101a6278
call fcn.100456b0
cmp dword [ebp + 0x19b8], eax
jne 0x10069141
mov cl, 1
jmp 0x10069143
xor cl, cl
mov eax, dword [ebp + 0x19b4]
cmp eax, ebx
je 0x1006916d
cmp dword [ebp + 0x1ab4], ebx
je 0x10069166
cmp dword [ebp + 0x1aa8], ebx
jne 0x1006916d
cmp dword [ebp + 0x1ac4], 3
jne 0x1006916d
mov byte [esp + 0x12], 1
jmp 0x10069172
mov byte [esp + 0x12], 0
cmp eax, ebx
mov byte [esp + 0x27], 0
je 0x10069198
test byte [esp + 0x15c], 0x10
jne 0x1006918c
cmp byte [esp + 0x12], 0
je 0x10069198
cmp byte [esp + 0x10], 0
mov byte [esp + 0x13], 1
je 0x1006919d
mov byte [esp + 0x13], 0
cmp byte [esp + 0x17], 0
mov ebx, dword [esp + 0x154]
jne 0x100691d2
cmp byte [esp + 0x15], 0
jne 0x100691d2
test cl, cl
jne 0x100691d2
cmp byte [esp + 0x12], cl
jne 0x100691d2
cmp byte [ebp + 0x3e0], cl
je 0x10069314
mov byte [esp + 0x27], 1
jmp 0x10069314
cmp eax, dword [esp + 0x50]
je 0x100692d6
mov edx, dword [esi + 0x2c]
mov eax, dword [esp + 0x150]
mov dword [esp + 0x34], edx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100691f0
sub eax, edx
mov edi, eax
lea eax, [ebx + 1]
push eax
lea ecx, [esi + 4]
call fcn.10049400
add edi, 1
push edi
lea ecx, [esi + 0x10]
call fcn.10049520
mov ecx, dword [esi + 0x18]
push edi
mov edi, dword [esp + 0x154]
push edi
push ecx
call fcn.101190a0
mov eax, dword [esi + 0xc]
lea edx, [esp + 0x54]
push edx
push 0
push edi
push ebx
push eax
mov dword [esp + 0x68], 0
call fcn.1003ec00
fld dword [0x101a6228]
mov ecx, dword [esp + 0x68]
fstp dword [esi + 0xe5c]
sub ecx, edi
mov dword [esi + 0x28], ecx
mov ecx, dword [esp + 0x70]
add esp, 0x20
cmp dword [esi], ecx
mov dword [esi + 0x2c], eax
jne 0x10069273
cmp dword [esp + 0x34], eax
jne 0x10069273
mov ecx, esi
call fcn.1005a430
jmp 0x100692a2
fldz
xor eax, eax
cmp byte [esp + 0x10], al
fstp dword [esi + 0x34]
lea edx, [esi + 0x38]
sete al
push edx
mov dword [esi], ecx
call fcn.10058db0
add esp, 4
cmp byte [esp + 0x10], 0
jne 0x100692a2
cmp byte [esp + 0x1f], 0
je 0x100692a2
mov byte [esp + 0x13], 1
test dword [esp + 0x15c], 0x2000
je 0x100692b3
mov byte [esi + 0x44], 1
cmp byte [esp + 0x10], 0
jne 0x100692d6
cmp byte [esp + 0x14], 0
jne 0x100692d1
cmp byte [esp + 0x15], 0
je 0x100692d6
cmp byte [ebp + 0x108], 0
je 0x100692d6
mov byte [esp + 0x13], 1
mov edi, dword [esp + 0xac]
mov eax, dword [esp + 0x50]
push edi
push eax
call fcn.1003fb00
mov ecx, dword [esp + 0x58]
push edi
push ecx
call fcn.1003fba0
push edi
call fcn.10046fe0
add esp, 0x14
cmp byte [esp + 0x10], 0
jne 0x10069314
test byte [esp + 0x15c], 0x80
jne 0x10069314
or dword [ebp + 0x19cc], 0xc
mov edx, dword [ebp + 0x19b4]
cmp edx, dword [esp + 0x50]
mov byte [esp + 0x57], 0
mov byte [esp + 0x17], 0
mov dword [esp + 0x48], 0
jne 0x1006961a
cmp byte [esp + 0x11], 0
jne 0x10069392
cmp byte [ebp + 0x19c4], 0
jne 0x10069392
lea eax, [ebx + 1]
lea edi, [esi + 4]
push eax
mov ecx, edi
call fcn.10049400
mov edx, dword [esp + 0x150]
mov eax, dword [edi]
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esi + 0xc]
push 0
push edx
push eax
push ecx
mov dword [esp + 0x5c], 0
call fcn.1003ec00
mov edx, dword [esp + 0x5c]
sub edx, dword [esp + 0x164]
add esp, 0x14
mov ecx, esi
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], edx
call fcn.1005a430
mov eax, dword [esi + 0x28]
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
mov dword [esi + 0xe64], ecx
mov dword [esi + 0x30], ebx
mov dword [esi + 0xe68], edx
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x164]
mov dword [esi + 0xe6c], eax
cmp byte [ebp + 0xf8], 0
mov dword [ebp + 0x2e58], 1
sete cl
cmp byte [esp + 0x10], 0
mov byte [ebp + 0x19c5], cl
fld dword [ebp + 0xf0]
fsub dword [esp + 0x8c]
fsub dword [ebp + 0x1544]
fadd dword [esi + 0x34]
fstp dword [esp + 0x18]
je 0x10069416
fld dword [ebp + 0xf4]
mov edx, dword [esp + 0x4c]
fsub dword [edx + 0xcc]
fsub dword [ebp + 0x1548]
jmp 0x10069422
fld dword [ebp + 0x18b4]
fmul qword [0x101a2a60]
cmp byte [esp + 0x13], 0
fstp dword [esp + 0x20]
mov cl, byte [ebp + 0xbd]
mov byte [esp + 0x2f], cl
jne 0x10069529
mov al, byte [esp + 0x16]
test al, al
je 0x10069453
test cl, cl
jne 0x1006949d
cmp byte [ebp + 0x3e5], cl
jne 0x10069529
cmp byte [ebp + 0x3e0], 0
je 0x100694c3
cmp byte [esi + 0xe61], 0
jne 0x100694c3
test al, al
je 0x10069544
fld dword [esp + 0x20]
sub esp, 8
fstp dword [esp + 4]
lea edi, [esi + 0x38]
fld dword [esp + 0x20]
mov ebx, esi
fstp dword [esp]
call fcn.1005d950
fld dword [0x101a6228]
add esp, 8
fstp dword [esi + 0xe5c]
jmp 0x10069544
cmp byte [ebp + 0x3e5], 0
je 0x10069453
push 0x1000c
mov ecx, esi
call fcn.10068d20
push 0x3000d
mov ecx, esi
call fcn.10068d20
jmp 0x10069544
cmp byte [ebp + 0xf8], 0
je 0x10069544
cmp byte [esi + 0xe61], 0
jne 0x1006954d
fldz
fcom dword [ebp + 0x380]
fnstsw ax
test ah, 0x44
jp 0x100694f3
fcomp dword [ebp + 0x384]
fnstsw ax
test ah, 0x44
jnp 0x10069544
jmp 0x100694f5
fstp st(0)
fld dword [esp + 0x20]
sub esp, 8
fstp dword [esp + 4]
lea edi, [esi + 0x38]
fld dword [esp + 0x20]
mov ebx, esi
fstp dword [esp]
call fcn.1005d9a0
fld dword [0x101a6228]
add esp, 8
fstp dword [esi + 0xe5c]
mov byte [esi + 0xe60], 1
jmp 0x10069544
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
mov byte [esi + 0xe61], 1
cmp byte [esi + 0xe61], 0
je 0x1006955d
cmp byte [ebp + 0xf8], 0
jne 0x1006955d
mov byte [esi + 0xe61], 0
mov eax, dword [ebp + 0x1500]
test eax, eax
jle 0x1006961a
cmp byte [ebp + 0x108], 0
je 0x10069581
cmp byte [ebp + 0x10a], 0
je 0x10069605
cmp byte [esp + 0x2f], 0
je 0x10069591
cmp byte [ebp + 0x10b], 0
jne 0x10069605
cmp byte [esp + 0x11], 0
je 0x10069605
cmp byte [esp + 0x12], 0
jne 0x10069605
xor ebp, ebp
test eax, eax
jle 0x10069605
jmp 0x100695b0
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x1508]
movzx edx, word [ecx + ebp*2]
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0x15c]
push eax
push ecx
lea edi, [esp + 0x28]
mov dword [esp + 0x28], edx
call fcn.10058e40
add esp, 8
test al, al
je 0x100695f5
mov edx, dword [esp + 0x20]
push edx
mov ecx, esi
call fcn.10068d20
mov eax, dword [esp + 0x30]
add ebp, 1
add eax, 0x1500
cmp ebp, dword [eax]
jl 0x100695b0
mov ecx, dword [esp + 0x30]
push 0
add ecx, 0x1500
call fcn.10049400
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x50]
cmp dword [ebp + 0x19b4], eax
mov byte [esp + 0x2f], 0
jne 0x10069e57
cmp byte [ebp + 0x19c4], 0
jne 0x10069e57
cmp byte [esp + 0x27], 0
jne 0x10069e57
mov cl, byte [ebp + 0x109]
mov al, byte [ebp + 0xbd]
mov dl, cl
neg dl
mov byte [esp + 0x6b], al
sbb edx, edx
and edx, 0x20000
test al, al
mov edi, edx
je 0x1006967d
cmp byte [ebp + 0x10b], 0
je 0x100696a1
cmp byte [ebp + 0x108], 0
je 0x1006968f
jmp 0x100696a1
cmp byte [ebp + 0x108], 0
je 0x100696a1
cmp byte [ebp + 0x10b], 0
jne 0x100696a1
cmp byte [ebp + 0x10a], 0
jne 0x100696a1
test cl, cl
mov byte [esp + 0x12], 1
je 0x100696a6
mov byte [esp + 0x12], 0
test al, al
je 0x100696ce
cmp byte [ebp + 0x10b], 0
je 0x100696ce
test cl, cl
je 0x100696ce
cmp byte [ebp + 0x108], 0
jne 0x100696ce
cmp byte [ebp + 0x10a], 0
mov byte [esp + 0x55], 1
je 0x100696d3
mov byte [esp + 0x55], 0
test al, al
je 0x10069745
cmp byte [ebp + 0x10b], 0
mov al, byte [ebp + 0x10a]
mov byte [esp + 0x15], al
je 0x100696fc
cmp byte [ebp + 0x108], 0
jne 0x100696fc
test al, al
mov byte [esp + 0x13], 1
je 0x10069701
mov byte [esp + 0x13], 0
mov al, byte [ebp + 0x108]
test al, al
je 0x10069724
test cl, cl
jne 0x10069724
cmp byte [ebp + 0x10a], cl
jne 0x10069724
cmp byte [ebp + 0x10b], cl
mov byte [esp + 0x16], 1
je 0x10069729
mov byte [esp + 0x16], 0
test cl, cl
je 0x10069751
test al, al
jne 0x10069751
cmp byte [ebp + 0x10a], al
jne 0x10069751
cmp byte [ebp + 0x10b], al
jne 0x10069751
mov bl, 1
jmp 0x10069753
mov al, byte [ebp + 0x108]
mov byte [esp + 0x15], al
jmp 0x100696fc
xor bl, bl
cmp byte [esp + 0x12], 0
mov byte [esp + 0x14], bl
je 0x1006976e
push 1
push 0x12
call fcn.10044c50
add esp, 8
test al, al
jne 0x10069782
test bl, bl
je 0x100697a7
push 1
push 0xa
call fcn.10044c50
add esp, 8
test al, al
je 0x100697a7
mov bl, byte [esp + 0x11]
test bl, bl
je 0x100697ab
cmp byte [esp + 0x47], 0
jne 0x100697ab
cmp byte [esp + 0x10], 0
je 0x100697a0
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [esi + 0x40]
je 0x100697ab
mov byte [esp + 0x1f], 1
jmp 0x100697b0
mov bl, byte [esp + 0x11]
mov byte [esp + 0x1f], 0
cmp byte [esp + 0x12], 0
je 0x100697c7
push 1
push 0x10
call fcn.10044c50
add esp, 8
test al, al
jne 0x100697de
cmp byte [esp + 0x16], 0
je 0x100697fb
push 1
push 9
call fcn.10044c50
add esp, 8
test al, al
je 0x100697fb
cmp byte [esp + 0x47], 0
jne 0x100697fb
cmp byte [esp + 0x10], 0
je 0x100697f4
mov edx, dword [esi + 0x3c]
cmp edx, dword [esi + 0x40]
je 0x100697fb
mov byte [esp + 0x16], 1
jmp 0x10069800
mov byte [esp + 0x16], 0
cmp byte [esp + 0x12], 0
je 0x10069817
push 1
push 0x11
call fcn.10044c50
add esp, 8
test al, al
jne 0x1006982e
cmp byte [esp + 0x14], 0
je 0x10069837
push 1
push 9
call fcn.10044c50
add esp, 8
test al, al
je 0x10069837
test bl, bl
mov byte [esp + 0x14], 1
jne 0x1006983c
mov byte [esp + 0x14], 0
cmp byte [esp + 0x12], 0
je 0x10069862
push 1
push 0x14
call fcn.10044c50
add esp, 8
test al, al
je 0x10069862
test bl, bl
je 0x10069862
cmp byte [esp + 0x26], 0
je 0x10069862
mov bl, 1
jmp 0x10069864
xor bl, bl
cmp byte [esp + 0x12], 0
je 0x1006987b
push 1
push 0x13
call fcn.10044c50
add esp, 8
test al, al
jne 0x10069892
cmp byte [esp + 0x55], 0
je 0x100698a5
push 1
push 0x14
call fcn.10044c50
add esp, 8
test al, al
je 0x100698a5
cmp byte [esp + 0x11], 0
je 0x100698a5
cmp byte [esp + 0x26], 0
mov byte [esp + 0x26], 1
jne 0x100698aa
mov byte [esp + 0x26], 0
push 1
push 1
call fcn.10044c50
add esp, 8
test al, al
je 0x100698f4
cmp byte [esp + 0x13], 0
je 0x100698d5
mov eax, 0x10004
or eax, edi
push eax
mov ecx, esi
call fcn.10068d20
jmp 0x10069e57
mov al, byte [esp + 0x15]
neg al
mov ecx, esi
sbb eax, eax
and eax, 0xc
add eax, 0x10000
or eax, edi
push eax
call fcn.10068d20
jmp 0x10069e57
push 1
push 2
call fcn.10044c50
add esp, 8
test al, al
je 0x1006993e
cmp byte [esp + 0x13], 0
je 0x1006991f
mov eax, 0x10005
or eax, edi
push eax
mov ecx, esi
call fcn.10068d20
jmp 0x10069e57
mov al, byte [esp + 0x15]
neg al
mov ecx, esi
sbb eax, eax
and eax, 0xc
add eax, 0x10001
or eax, edi
push eax
call fcn.10068d20
jmp 0x10069e57
push 1
push 3
call fcn.10044c50
add esp, 8
test al, al
je 0x100699b7
cmp byte [esp + 0x10], 0
je 0x100699b7
cmp byte [ebp + 0x108], 0
je 0x10069998
fldz
mov ecx, dword [esp + 0x4c]
sub esp, 8
fstp dword [esp + 4]
fld dword [ecx + 0x5c]
fsub dword [ebp + 0x18b4]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp dword [esp]
call fcn.10059980
add esp, 4
fstp dword [esp]
push ecx
call fcn.100413a0
add esp, 8
jmp 0x10069e57
xor eax, eax
cmp byte [esp + 0x13], al
mov ecx, esi
setne al
lea eax, [eax*4 + 0x10002]
or eax, edi
push eax
call fcn.10068d20
jmp 0x10069e57
push 1
push 4
call fcn.10044c50
add esp, 8
test al, al
je 0x10069a33
cmp byte [esp + 0x10], 0
je 0x10069a33
cmp byte [ebp + 0x108], 0
je 0x10069a14
call fcn.10047540
mov ecx, dword [esp + 0x4c]
sub esp, 8
fstp dword [esp + 4]
fld dword [ebp + 0x18b4]
fadd dword [ecx + 0x5c]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp dword [esp]
call fcn.10059950
add esp, 4
fstp dword [esp]
push ecx
call fcn.100413a0
add esp, 8
jmp 0x10069e57
xor ecx, ecx
cmp byte [esp + 0x13], cl
setne cl
lea ecx, [ecx*4 + 0x10003]
or ecx, edi
push ecx
mov ecx, esi
call fcn.10068d20
jmp 0x10069e57
push 1
push 7
call fcn.10044c50
add esp, 8
test al, al
je 0x10069a76
cmp byte [ebp + 0x108], 0
je 0x10069a61
or edi, 0x10006
mov eax, edi
push eax
mov ecx, esi
call fcn.10068d20
jmp 0x10069e57
or edi, 0x10004
mov eax, edi
push eax
mov ecx, esi
call fcn.10068d20
jmp 0x10069e57
push 1
push 8
call fcn.10044c50
add esp, 8
test al, al
je 0x10069ab9
cmp byte [ebp + 0x108], 0
je 0x10069aa4
or edi, 0x10007
mov eax, edi
push eax
mov ecx, esi
call fcn.10068d20
jmp 0x10069e57
or edi, 0x10005
mov eax, edi
push eax
mov ecx, esi
call fcn.10068d20
jmp 0x10069e57
push 1
push 0xa
call fcn.10044c50
add esp, 8
test al, al
je 0x10069ae3
cmp byte [esp + 0x11], 0
je 0x10069ae3
or edi, 0x10008
push edi
mov ecx, esi
call fcn.10068d20
jmp 0x10069e57
push 1
push 0xb
call fcn.10044c50
add esp, 8
test al, al
je 0x10069b51
cmp byte [esp + 0x11], 0
je 0x10069b51
mov edx, dword [esi + 0x3c]
cmp edx, dword [esi + 0x40]
jne 0x10069b3e
cmp byte [esp + 0x15], 0
je 0x10069b10
push 0x3000c
jmp 0x10069b37
cmp byte [esp + 0x6b], 0
je 0x10069b3e
cmp byte [ebp + 0x10b], 0
je 0x10069b3e
cmp byte [ebp + 0x10a], 0
jne 0x10069b3e
cmp byte [ebp + 0x108], 0
jne 0x10069b3e
push 0x30004
mov ecx, esi
call fcn.10068d20
or edi, 0x10009
push edi
mov ecx, esi
call fcn.10068d20
jmp 0x10069e57
push 1
push 0xd
call fcn.10044c50
add esp, 8
test al, al
je 0x10069bae
mov eax, dword [esp + 0x15c]
shr eax, 0xb
and al, 1
cmp byte [esp + 0x10], 0
je 0x10069b81
test al, al
je 0x10069b90
cmp byte [ebp + 0x108], 0
jne 0x10069b99
mov byte [esp + 0x27], 1
mov byte [esp + 0x17], 1
jmp 0x10069e57
cmp byte [ebp + 0x108], 0
jne 0x10069b81
cmp byte [esp + 0x11], 0
je 0x10069e57
mov dword [esp + 0x20], 0xa
jmp 0x10069bf5
test dword [esp + 0x15c], 0x400
je 0x10069c31
push 1
push 0
call fcn.10044c50
add esp, 8
test al, al
je 0x10069c31
cmp byte [ebp + 0x108], 0
jne 0x10069c31
cmp byte [ebp + 0x109], 0
jne 0x10069c31
cmp byte [ebp + 0x10a], 0
jne 0x10069c31
cmp byte [esp + 0x11], 0
je 0x10069c31
mov dword [esp + 0x20], 9
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x160]
mov ebx, dword [esp + 0x15c]
push eax
push ecx
lea edi, [esp + 0x28]
call fcn.10058e40
add esp, 8
test al, al
je 0x10069e57
mov edx, dword [esp + 0x20]
push edx
mov ecx, esi
call fcn.10068d20
jmp 0x10069e57
push 1
push 0xe
call fcn.10044c50
add esp, 8
test al, al
je 0x10069c50
mov byte [esp + 0x2f], 1
mov byte [esp + 0x27], 1
jmp 0x10069e57
test bl, bl
jne 0x10069e3c
cmp byte [esp + 0x26], bl
jne 0x10069e3c
cmp byte [esp + 0x12], bl
je 0x10069c94
push 1
push 0xf
call fcn.10044c50
add esp, 8
test al, al
je 0x10069c94
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], bl
mov byte [esi + 0xe60], 1
jmp 0x10069e54
cmp byte [esp + 0x1f], 0
jne 0x10069d91
cmp byte [esp + 0x16], 0
jne 0x10069d91
cmp byte [esp + 0x14], 0
je 0x10069e57
call fcn.1003fe80
mov edi, eax
test edi, edi
je 0x10069e57
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10069cc7
sub eax, edx
lea eax, [eax + eax + 2]
push eax
call fcn.1003fe20
add esp, 4
xor ebp, ebp
cmp byte [edi], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edi
je 0x10069d59
mov edi, edi
mov edi, dword [esp + 0x18]
push 0
lea ecx, [esp + 0x24]
push edi
push ecx
call fcn.1003ea50
add edi, eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
mov dword [esp + 0x18], edi
je 0x10069d59
cmp eax, 0x10000
jae 0x10069d50
mov edx, dword [esp + 0x164]
mov eax, dword [esp + 0x160]
mov ebx, dword [esp + 0x15c]
push edx
push eax
lea edi, [esp + 0x28]
call fcn.10058e40
add esp, 8
test al, al
je 0x10069d50
mov cx, word [esp + 0x20]
mov edx, dword [esp + 0x28]
mov word [edx + ebp*2], cx
add ebp, 1
mov eax, dword [esp + 0x18]
cmp byte [eax], 0
jne 0x10069cf0
test ebp, ebp
mov edi, dword [esp + 0x28]
mov word [edi + ebp*2], 0
jle 0x10069d7f
lea ecx, [esi + 0x38]
push ecx
push esi
mov eax, ebp
mov ecx, edi
call fcn.10062fe0
add esp, 8
mov byte [esi + 0xe60], 1
push edi
call fcn.1003fe50
mov ebp, dword [esp + 0x34]
add esp, 4
jmp 0x10069e57
cmp dword [ebp + 0xdc], 0
je 0x10069e06
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0x40]
cmp eax, edi
je 0x10069db2
jge 0x10069dac
mov dword [esp + 0x18], eax
jmp 0x10069dba
mov dword [esp + 0x18], edi
jmp 0x10069dba
mov dword [esp + 0x18], 0
cmp eax, edi
je 0x10069dc4
jl 0x10069dc7
mov edi, eax
jmp 0x10069dc7
mov edi, dword [esi + 0x2c]
mov edx, edi
sub edx, dword [esp + 0x18]
lea ebx, [esi + 0x1c]
lea eax, [edx*4 + 1]
push eax
mov ecx, ebx
call fcn.10049520
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x18]
lea ecx, [eax + edi*2]
push ecx
mov ecx, dword [ebx]
lea eax, [eax + edx*2]
mov edx, dword [esi + 0x24]
push eax
push ecx
push edx
call fcn.1003edf0
mov eax, dword [esi + 0x24]
push eax
call fcn.1003feb0
add esp, 0x14
cmp byte [esp + 0x1f], 0
je 0x10069e57
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [esi + 0x40]
jne 0x10069e29
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], eax
mov dword [esi + 0x38], eax
mov byte [esi + 0x47], 0
lea eax, [esi + 0x38]
mov ebx, esi
mov byte [esi + 0xe60], 1
call fcn.10062cc0
jmp 0x10069e57
neg bl
mov ecx, esi
sbb ebx, ebx
add ebx, 0x1000b
push ebx
call fcn.10068d20
mov eax, dword [esi + 0x38]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x40], eax
mov ebx, dword [esp + 0x50]
cmp dword [ebp + 0x19b4], ebx
jne 0x1006a27d
xor ebx, ebx
cmp byte [esp + 0x2f], bl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
je 0x10069edf
cmp byte [esp + 0x11], bl
je 0x10069ec7
mov edi, dword [esi + 0x18]
mov eax, dword [esp + 0x150]
mov ecx, edi
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10069eb0
test dl, dl
je 0x10069eac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10069eb0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10069e90
xor eax, eax
jmp 0x10069eb5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x10069ec7
mov eax, dword [esi + 0x10]
sub eax, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], eax
cmp byte [esp + 0x17], bl
je 0x1006a174
test byte [esp + 0x15c], 0x20
je 0x1006a174
cmp byte [esp + 0x11], bl
je 0x10069f0e
mov edx, dword [esi + 4]
lea eax, [edx*4 + 1]
lea edi, [esi + 0x1c]
push eax
mov ecx, edi
call fcn.10049520
mov ecx, dword [esi + 0xc]
mov edx, dword [edi]
mov eax, dword [esi + 0x24]
push ebx
push ecx
push edx
push eax
call fcn.1003edf0
add esp, 0x10
test dword [esp + 0x15c], 0x1c0
je 0x1006a128
test byte [esp + 0x15c], 0x40
mov ebx, 0x15
je 0x10069f47
push 1
push 0
call fcn.10044c50
add esp, 8
test al, al
je 0x10069f47
mov edi, 0x40
xor ebx, ebx
jmp 0x10069fa4
mov edi, dword [esp + 0x15c]
and edi, 0x80
je 0x10069f72
push 1
push 3
call fcn.10044c50
add esp, 8
test al, al
je 0x10069f72
mov edi, 0x80
mov ebx, 3
jmp 0x10069fa4
test edi, edi
je 0x10069f92
push 1
push 4
call fcn.10044c50
add esp, 8
test al, al
je 0x10069f92
mov edi, 0x80
mov ebx, 4
jmp 0x10069fa4
mov edi, 0x100
test dword [esp + 0x15c], edi
je 0x1006a128
push 0x30
lea ecx, [esp + 0xcc]
push 0
push ecx
call fcn.10118c20
mov edx, dword [esp + 0x168]
mov ecx, dword [esi + 0x24]
mov eax, dword [esp + 0x170]
mov dword [esp + 0xd8], edx
mov edx, dword [esi + 0x28]
mov dword [esp + 0xd4], edi
mov edi, dword [esi + 0xc]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esi + 0x38]
mov dword [esp + 0xec], edx
lea edx, [edi + ecx*2]
mov dword [esp + 0xdc], eax
mov eax, dword [esi + 0x30]
push edx
push edi
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf8], eax
mov byte [esp + 0xfc], 0
call fcn.1003ee60
mov dword [esp + 0x100], eax
mov ebx, eax
mov eax, dword [esi + 0x3c]
lea ecx, [edi + eax*2]
push ecx
push edi
call fcn.1003ee60
mov edx, dword [esi + 0x40]
mov dword [esp + 0x10c], eax
mov ebp, eax
lea eax, [edi + edx*2]
push eax
push edi
call fcn.1003ee60
lea ecx, [esp + 0xec]
push ecx
mov dword [esp + 0x11c], eax
mov edi, eax
call dword [esp + 0x188]
mov eax, dword [esp + 0x114]
add esp, 0x28
cmp eax, ebx
je 0x1006a084
mov ecx, dword [esp + 0xdc]
add eax, ecx
push eax
push ecx
call fcn.1003ec80
add esp, 8
mov dword [esi + 0x38], eax
mov byte [esi + 0xe60], 1
mov ecx, dword [esp + 0xf0]
cmp ecx, ebp
je 0x1006a0a5
mov eax, dword [esp + 0xdc]
add ecx, eax
push ecx
push eax
call fcn.1003ec80
add esp, 8
mov dword [esi + 0x3c], eax
mov ecx, dword [esp + 0xf4]
cmp ecx, edi
je 0x1006a0c6
mov eax, dword [esp + 0xdc]
add ecx, eax
push ecx
push eax
call fcn.1003ec80
add esp, 8
mov dword [esi + 0x40], eax
cmp byte [esp + 0xe8], 0
je 0x1006a128
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x48]
cmp eax, edx
jle 0x1006a0f3
cmp byte [esp + 0x56], 0
je 0x1006a0f3
lea ecx, [esi + 4]
sub eax, edx
add eax, dword [ecx]
push eax
call fcn.10049400
mov edx, dword [esp + 0xdc]
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
push 0
push 0
push edx
push eax
push ecx
call fcn.1003ec00
fld dword [0x101a6228]
mov edx, dword [esp + 0xf4]
fstp dword [esi + 0xe5c]
add esp, 0x14
mov dword [esi + 0x2c], eax
mov dword [esi + 0x28], edx
cmp byte [esp + 0x11], 0
je 0x1006a174
mov edi, dword [esi + 0x24]
mov ecx, dword [esp + 0x150]
mov eax, edi
jmp 0x1006a140
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1006a160
test dl, dl
je 0x1006a15c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1006a160
add eax, 2
add ecx, 2
test dl, dl
jne 0x1006a140
xor eax, eax
jmp 0x1006a165
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1006a174
mov eax, dword [esi + 0x28]
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], eax
xor eax, eax
cmp dword [esp + 0x20], eax
je 0x1006a263
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x48], edi
je 0x1006a237
cmp byte [esp + 0x56], al
je 0x1006a237
lea ecx, [esp + 0xc8]
call fcn.10058dc0
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x150]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x154]
lea eax, [edi + 1]
cmp ecx, eax
mov dword [esp + 0xc8], 0x40000
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], edi
mov dword [esp + 0xe4], ecx
jge 0x1006a1ee
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x164]
lea ecx, [esp + 0xc8]
push ecx
mov dword [esp + 0xd4], eax
call dword [esp + 0x164]
mov eax, dword [esp + 0xe8]
mov edi, dword [esp + 0xe4]
mov edx, dword [esp + 0xe0]
mov ecx, eax
add eax, 0xffffffff
add esp, 4
cmp edi, eax
mov dword [esp + 0x150], edx
jl 0x1006a23e
mov edi, eax
jmp 0x1006a23e
mov ecx, dword [esp + 0x154]
lea eax, [edi + 1]
cmp eax, ecx
jl 0x1006a247
mov eax, ecx
mov ecx, dword [esp + 0x150]
push eax
mov eax, dword [esi + 0x24]
push eax
push ecx
call fcn.1003e6a0
add esp, 0xc
mov byte [esp + 0x57], 1
xor eax, eax
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x50]
mov dword [esi + 0xe64], eax
mov dword [esi + 0xe68], eax
mov dword [esi + 0xe6c], eax
cmp byte [esp + 0x27], 0
je 0x1006a291
cmp dword [ebp + 0x19b4], ebx
jne 0x1006a2a5
call fcn.1003fc70
cmp dword [ebp + 0x19b4], ebx
jne 0x1006a2a5
cmp byte [esp + 0x11], 0
je 0x1006a2a5
mov edi, dword [esi + 0x24]
jmp 0x1006a2ac
mov edi, dword [esp + 0x150]
cmp byte [esp + 0x10], 0
mov dword [esp + 0x20], edi
jne 0x1006a30e
push 1
lea edx, [esp + 0x90]
push ebx
push edx
call fcn.1003f880
fld dword [ebp + 0x154c]
add esp, 8
fstp dword [esp]
push 1
fld1
push ecx
fstp dword [esp]
push 7
call fcn.1003f260
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
add esp, 8
push eax
mov eax, dword [esp + 0xa4]
push eax
mov eax, dword [esp + 0x9c]
push ecx
push edx
push eax
call fcn.1003f430
add esp, 0x1c
fld dword [esp + 0x8c]
mov cl, byte [esp + 0x10]
test cl, cl
fst dword [esp + 0xb0]
fld dword [esp + 0x90]
fst dword [esp + 0xb4]
fld st(1)
fadd dword [esp + 0xa4]
fstp dword [esp + 0xb8]
fld dword [esp + 0xa8]
fadd st(1)
fstp dword [esp + 0xbc]
je 0x1006a361
mov eax, dword [esp + 0x4c]
fstp st(0)
fstp st(0)
add eax, 0xc8
jmp 0x1006a37d
fld dword [ebp + 0x1544]
lea eax, [esp + 0x3c]
faddp st(2)
fxch st(1)
fstp dword [esp + 0x3c]
fadd dword [ebp + 0x1548]
fstp dword [esp + 0x40]
mov edx, dword [eax]
fldz
mov dword [esp + 0x84], edx
fst dword [esp + 0x74]
mov eax, dword [eax + 4]
fstp dword [esp + 0x78]
mov dword [esp + 0x88], eax
cmp dword [esi], ebx
jne 0x1006a3be
test cl, cl
je 0x1006a3be
mov ecx, dword [esp + 0x4c]
push 0
push 0x101a6278
call fcn.100456b0
cmp dword [ebp + 0x19b4], eax
jne 0x1006a3be
mov al, 1
jmp 0x1006a3c0
xor al, al
cmp dword [ebp + 0x19b4], ebx
je 0x1006a4a8
test al, al
jne 0x1006a4a8
cmp byte [esp + 0x10], al
mov dword [esp + 0x28], 0
je 0x1006a420
fld dword [esp + 0xa4]
lea esi, [esp + 0x28]
mov ecx, edi
fstp dword [esp + 0x60]
call fcn.10058940
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x74], ecx
fmul dword [ebp + 0x18b4]
fstp dword [esp + 0x64]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x78], edx
jmp 0x1006a446
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1006a425
sub eax, edx
add eax, edi
mov ecx, eax
sub ecx, edi
cmp ecx, 0x200000
jge 0x1006ad8b
mov edi, dword [esp + 0x20]
mov dl, byte [esp + 0x10]
fldz
neg dl
lea ecx, [esp + 0xb0]
sbb edx, edx
not edx
and edx, ecx
push edx
push ecx
fstp dword [esp]
push eax
fld1
push edi
push ecx
fstp dword [esp]
push 0
call fcn.1003f260
add esp, 8
push eax
mov eax, dword [esp + 0x44]
fld dword [eax + 0x18b4]
mov eax, dword [eax + 0x18b0]
lea edx, [esp + 0x98]
push edx
push ecx
mov ecx, dword [esp + 0x68]
fstp dword [esp]
mov ecx, dword [ecx + 0x274]
push eax
call fcn.10080a90
mov ebp, dword [esp + 0x30]
jmp 0x1006ad43
mov edx, dword [esp + 0x30]
fld dword [edx + 0x18]
mov eax, dword [esi + 0x38]
fadd dword [esi + 0xe5c]
mov ebp, dword [esi + 0xc]
mov edx, dword [esi + 0x40]
lea ecx, [ebp + eax*2]
fstp dword [esi + 0xe5c]
mov dword [esp + 0x6c], ecx
fldz
mov ecx, dword [esi + 0x3c]
cmp ecx, edx
fst dword [esp + 0xa0]
mov edi, 0xfffffc19
fstp dword [esp + 0x9c]
mov dword [esp + 0x70], 0
mov eax, 1
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x5c], edi
je 0x1006a519
jl 0x1006a505
mov ecx, edx
lea edx, [ebp + ecx*2]
or edi, 0xffffffff
mov dword [esp + 0x70], edx
mov dword [esp + 0x5c], edi
mov eax, 2
movzx edx, word [ebp]
xor ecx, ecx
cmp byte [esp + 0x10], cl
mov ebx, ebp
setne cl
add eax, ecx
xor ecx, ecx
test dx, dx
je 0x1006a579
movzx edx, dx
cmp dx, 0xa
jne 0x1006a569
add ecx, 1
cmp dword [esp + 0x58], 0xffffffff
jne 0x1006a555
cmp ebx, dword [esp + 0x6c]
jb 0x1006a555
sub eax, 1
test eax, eax
mov dword [esp + 0x58], ecx
jle 0x1006a575
cmp edi, 0xffffffff
jne 0x1006a569
cmp ebx, dword [esp + 0x70]
jb 0x1006a569
sub eax, 1
test eax, eax
mov edi, ecx
jle 0x1006a575
movzx edx, word [ebx + 2]
add ebx, 2
test dx, dx
jne 0x1006a534
mov dword [esp + 0x5c], edi
add ecx, 1
cmp dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x34], ecx
jne 0x1006a58b
mov dword [esp + 0x58], ecx
cmp edi, 0xffffffff
jne 0x1006a594
mov dword [esp + 0x5c], ecx
mov edi, dword [esp + 0x6c]
push 0
push 0
push ebp
push edi
call fcn.1003e740
add esp, 8
xor bl, bl
lea ecx, [esp + 0xc8]
call fcn.1005d550
fld dword [eax]
mov edx, dword [esp + 0x38]
fstp dword [esp + 0x84]
fild dword [esp + 0x60]
add esp, 8
cmp dword [esp + 0x5c], 0
fmul dword [edx + 0x18b4]
fstp dword [esp + 0x80]
jl 0x1006a61b
mov edi, dword [esp + 0x70]
push 0
push 0
push ebp
push edi
call fcn.1003e740
add esp, 8
lea ecx, [esp + 0xc8]
call fcn.1005d550
fld dword [eax]
mov eax, dword [esp + 0x38]
fstp dword [esp + 0xa4]
fild dword [esp + 0x64]
add esp, 8
fmul dword [eax + 0x18b4]
fstp dword [esp + 0xa0]
mov bl, byte [esp + 0x10]
fld dword [esp + 0xa4]
test bl, bl
je 0x1006a650
mov ecx, dword [esp + 0x30]
fst dword [esp + 0x60]
fild dword [esp + 0x34]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x74], edx
fmul dword [ecx + 0x18b4]
fstp dword [esp + 0x64]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x78], eax
cmp byte [esi + 0xe60], 0
fld dword [esp + 0x80]
fld dword [esp + 0x7c]
je 0x1006a797
test dword [esp + 0x15c], 0x1000
jne 0x1006a6f2
fld st(2)
fmul qword [0x101a57c8]
fstp dword [esp + 0x28]
fld dword [esi + 0x34]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1006a6ca
fstp st(2)
fld dword [esp + 0x28]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fcom qword [0x101a1668]
fnstsw ax
test ah, 0x41
jp 0x1006a6b0
fstp st(0)
fldz
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
call fcn.10118910
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fstp dword [esi + 0x34]
jmp 0x1006a6ff
fsubrp st(2)
fld dword [esi + 0x34]
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x1006a6fd
fld dword [esp + 0x28]
faddp st(2)
fxch st(1)
call fcn.10118910
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fstp dword [esi + 0x34]
jmp 0x1006a6ff
fstp st(2)
fstp st(1)
fldz
fstp dword [esi + 0x34]
jmp 0x1006a6ff
fstp st(1)
test bl, bl
je 0x1006a79b
mov ecx, dword [esp + 0x4c]
fld dword [ecx + 0x5c]
mov edx, dword [esp + 0x30]
fstp dword [esp + 0x18]
fld st(0)
fsub dword [edx + 0x18b4]
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x1006a74e
fstp st(0)
fstp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fcom qword [0x101a1668]
fnstsw ax
test ah, 0x41
jp 0x1006a748
fstp st(0)
fldz
fstp dword [esp + 0x18]
jmp 0x1006a76a
fstp st(1)
fld dword [esp + 0xa8]
fsubp st(2)
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1006a768
fstp dword [esp + 0x18]
jmp 0x1006a76a
fstp st(0)
fld dword [ecx + 0x5c]
fld dword [esp + 0x18]
fld st(0)
fsubp st(2)
fld dword [ecx + 0xcc]
faddp st(2)
fxch st(1)
fstp dword [ecx + 0xcc]
fstp dword [ecx + 0x5c]
fld dword [ecx + 0xcc]
fstp dword [esp + 0x88]
jmp 0x1006a79d
fstp st(2)
fstp st(1)
fstp st(0)
mov eax, dword [esi + 0x3c]
fld dword [esi + 0x34]
mov ecx, dword [esi + 0x40]
fstp dword [esp + 0x60]
cmp eax, ecx
mov byte [esi + 0xe60], 0
je 0x1006ab09
mov edx, eax
jl 0x1006a7bf
mov edx, ecx
cmp eax, ecx
lea ebx, [ebp + edx*2]
jge 0x1006a7c9
mov eax, ecx
cmp byte [esp + 0x10], 0
lea edi, [ebp + eax*2]
je 0x1006a7df
fldz
fst dword [esp + 0xac]
jmp 0x1006a7f2
fld dword [0x101a1be4]
fstp dword [esp + 0xac]
fld dword [0x101a2b58]
fstp dword [esp + 0x48]
push ecx
fld1
fstp dword [esp]
push 0x2a
call fcn.1003f260
fld dword [esp + 0x8c]
fadd dword [esp + 0xa4]
mov ebp, dword [esp + 0x38]
add esp, 8
cmp ebx, edi
fstp dword [esp + 0x34]
mov ecx, ebx
fld dword [esp + 0x88]
mov dword [esp + 0x58], eax
fadd dword [esp + 0xa0]
mov dword [esp + 0x18], ecx
fstp dword [esp + 0x38]
fld dword [esp + 0x34]
fsub dword [esp + 0x60]
fstp dword [esp + 0x6c]
fld dword [esp + 0x38]
fsub qword [0x101a1668]
fstp dword [esp + 0x70]
jae 0x1006ab0d
lea ebx, [ebx]
fld dword [esp + 0x70]
fld dword [esp + 0xbc]
fadd dword [ebp + 0x18b4]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x1006ab05
fld dword [esp + 0xb4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1006a8d0
cmp ecx, edi
jae 0x1006a8ae
mov ax, word [ecx]
add ecx, 2
cmp ax, 0xa
je 0x1006a8aa
cmp ecx, edi
jb 0x1006a89a
mov dword [esp + 0x18], ecx
cmp ecx, edi
fld dword [esp + 0x84]
fsub dword [esp + 0x60]
fstp dword [esp + 0x6c]
fadd dword [ebp + 0x18b4]
fstp dword [esp + 0x70]
jb 0x1006a860
jmp 0x1006ab0d
lea edx, [esp + 0x18]
fstp st(0)
push 0
mov eax, ecx
push edx
mov bl, 1
lea ecx, [esp + 0xa4]
call fcn.1005d550
fldz
fcomp dword [esp + 0xa4]
add esp, 8
fnstsw ax
test bl, ah
jne 0x1006a937
mov eax, dword [ebp + 0x18b0]
cmp dword [eax + 0x1c], 0x20
jle 0x1006a912
mov eax, dword [eax + 0x24]
fld dword [eax + 0x80]
jmp 0x1006a915
fld dword [eax + 0x38]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fmul qword [0x101a2a60]
call fcn.10118910
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fstp dword [esp + 0x9c]
fld dword [esp + 0x6c]
fld st(0)
fadd dword [esp + 0x9c]
fstp dword [esp + 0x118]
fld dword [esp + 0x70]
fld st(0)
fadd dword [esp + 0x48]
fstp dword [esp + 0x11c]
fld dword [esp + 0xac]
fsub dword [ebp + 0x18b4]
fstp dword [esp + 0xc4]
fxch st(1)
fadd qword [0x101a1668]
fstp dword [esp + 0x110]
fld st(0)
fadd dword [esp + 0xc4]
fstp dword [esp + 0x114]
fld dword [esp + 0x114]
fld dword [esp + 0xb4]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x1006a9ae
fxch st(1)
fstp dword [esp + 0x34]
jmp 0x1006a9b4
fstp st(1)
fst dword [esp + 0x34]
fld dword [esp + 0x110]
fld dword [esp + 0xb0]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x1006a9cf
fstp st(0)
jmp 0x1006a9d1
fstp st(1)
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fst dword [esp + 0x120]
mov ecx, dword [esp + 0x120]
fld dword [esp + 0x34]
mov dword [esp + 0x138], ecx
fst dword [esp + 0x124]
mov edx, dword [esp + 0x124]
fld dword [esp + 0x11c]
mov dword [esp + 0x13c], edx
fld dword [esp + 0xbc]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x1006aa26
fxch st(1)
fstp dword [esp + 0x28]
jmp 0x1006aa2c
fstp st(1)
fst dword [esp + 0x28]
fld dword [esp + 0x118]
fld dword [esp + 0xb8]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x1006aa4c
fstp st(0)
fld dword [esp + 0xb8]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fst dword [esp + 0x3c]
mov eax, dword [esp + 0x3c]
fld dword [esp + 0x28]
mov dword [esp + 0x140], eax
fst dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
fcomp st(5)
mov dword [esp + 0x144], ecx
fnstsw ax
fstp st(4)
test ah, 0x41
jne 0x1006aae7
fcompp
fnstsw ax
test ah, 0x41
jne 0x1006aaf8
fld dword [esp + 0xb0]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1006aafa
fld dword [esp + 0xb8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x1006aafc
mov edx, dword [esp + 0x58]
fstp st(0)
fldz
push 0xf
push ecx
fstp dword [esp]
push edx
mov edx, dword [esp + 0x58]
lea eax, [esp + 0x14c]
push eax
lea ecx, [esp + 0x148]
push ecx
mov ecx, dword [edx + 0x274]
call fcn.10080710
fld dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
jmp 0x1006a8ae
mov ecx, dword [esp + 0x18]
fstp st(3)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x1006a8ae
fstp st(1)
fstp st(0)
mov ecx, dword [esp + 0x18]
jmp 0x1006a8ae
fstp st(0)
jmp 0x1006ab0d
mov ebp, dword [esp + 0x30]
mov al, byte [esp + 0x10]
test al, al
mov esi, dword [esi + 0x28]
jne 0x1006ab20
cmp esi, 0x200000
jge 0x1006ab94
fld dword [esp + 0x84]
neg al
fsub dword [esp + 0x60]
lea ecx, [esp + 0xb0]
fstp dword [esp + 0x3c]
fld dword [esp + 0x88]
fsub qword [0x101a1668]
sbb eax, eax
not eax
fstp dword [esp + 0x40]
and eax, ecx
fldz
push eax
mov eax, dword [esp + 0x24]
push ecx
fstp dword [esp]
add esi, eax
fld1
push esi
push eax
push ecx
fstp dword [esp]
push 0
call fcn.1003f260
fld dword [ebp + 0x18b4]
add esp, 8
push eax
mov eax, dword [ebp + 0x18b0]
lea edx, [esp + 0x50]
push edx
push ecx
mov ecx, dword [esp + 0x68]
fstp dword [esp]
mov ecx, dword [ecx + 0x274]
push eax
call fcn.10080a90
cmp byte [ebp + 0xbe], 0
je 0x1006abd6
fldz
fcomp dword [ebp + 0x2b68]
fnstsw ax
test ah, 1
je 0x1006abd6
fld dword [ebp + 0x2b68]
fld qword [0x101a6350]
call fcn.1011b5fa
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fcomp qword [0x101a56d8]
fnstsw ax
test ah, 0x41
jnp 0x1006abd6
xor al, al
jmp 0x1006abd8
mov al, 1
test al, al
fld dword [esp + 0x84]
fadd dword [esp + 0x7c]
fstp dword [esp + 0x3c]
fld dword [esp + 0x88]
fadd dword [esp + 0x80]
fstp dword [esp + 0x40]
fld dword [esp + 0x3c]
fsub dword [esp + 0x60]
fstp dword [esp + 0x7c]
fld dword [esp + 0x40]
fsub qword [0x101a1668]
fstp dword [esp + 0x80]
fld dword [esp + 0x7c]
fst dword [esp + 0x100]
fld dword [esp + 0x80]
fld st(0)
fsub dword [ebp + 0x18b4]
fadd qword [0x101a2a60]
fstp dword [esp + 0x104]
fld st(1)
fadd qword [0x101a3b50]
fstp dword [esp + 0x108]
fld qword [0x101a64c8]
fsubr st(1)
fstp dword [esp + 0x10c]
je 0x1006ad0c
fld dword [esp + 0xb4]
fld dword [esp + 0x10c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1006ad0a
fld dword [esp + 0xbc]
fld dword [esp + 0x104]
fcompp
fnstsw ax
test ah, 5
jp 0x1006ad0a
fld dword [esp + 0xb0]
fld dword [esp + 0x108]
fcompp
fnstsw ax
test ah, 0x41
jne 0x1006ad0a
fld dword [esp + 0xb8]
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x1006ad0a
fstp st(1)
sub esp, 8
fxch st(1)
fstp dword [esp + 0x44]
fstp dword [esp + 0x48]
fld1
fst dword [esp + 4]
fstp dword [esp]
push 0
call fcn.1003f260
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx + 0x274]
add esp, 8
push eax
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x10c]
push eax
call fcn.10080520
fld dword [esp + 0x7c]
fld dword [esp + 0x80]
jmp 0x1006ad0c
fstp st(0)
cmp byte [esp + 0x11], 0
je 0x1006ad3f
fxch st(1)
fsub qword [0x101a3b50]
fstp dword [esp + 0x3c]
mov edx, dword [esp + 0x3c]
mov dword [ebp + 0x2c10], edx
fsub dword [ebp + 0x18b4]
fstp dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov dword [ebp + 0x2c14], eax
jmp 0x1006ad43
fstp st(1)
fstp st(0)
cmp byte [esp + 0x10], 0
je 0x1006ad8b
fld dword [ebp + 0x18b4]
lea ecx, [esp + 0x3c]
fstp dword [esp + 0xc4]
push ecx
fld dword [esp + 0x78]
fadd qword [0x101a1668]
fstp dword [esp + 0x40]
fld dword [esp + 0xc8]
fadd dword [esp + 0x7c]
fstp dword [esp + 0x44]
call fcn.10058060
add esp, 4
call fcn.100535a0
call fcn.1004c430
mov bl, byte [esp + 0x47]
test bl, bl
je 0x1006ad98
call fcn.10047150
mov esi, dword [esp + 0x30]
cmp byte [esi + 0x2c4c], 0
je 0x1006adc0
test bl, bl
jne 0x1006adc0
mov edx, dword [esp + 0x20]
push 0
push edx
lea eax, [esp + 0x8c]
push eax
call fcn.1004d840
add esp, 0xc
fldz
fcomp dword [esp + 0xf8]
fnstsw ax
test ah, 5
jp 0x1006ae10
fld dword [esi + 0x155c]
mov ecx, dword [esp + 0x14c]
fadd dword [esp + 0x94]
push 1
push 0
push ecx
fstp dword [esp + 0x48]
mov eax, dword [esp + 0x48]
fld dword [esi + 0x1548]
fadd dword [esp + 0x9c]
fstp dword [esp + 0x4c]
mov edx, dword [esp + 0x4c]
push edx
push eax
call fcn.1004e650
add esp, 0x14
mov bl, byte [esp + 0x57]
test bl, bl
je 0x1006ae25
mov ecx, dword [esp + 0x50]
push ecx
call fcn.1003fd10
add esp, 4
test byte [esp + 0x15c], 0x20
mov al, byte [esp + 0x17]
jne 0x1006ae35
mov al, bl
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret