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

Disassembly:
sub esp, 0x138
mov eax, dword [0x101e9b30]
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 0x10068293
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 [0x101e9b30]
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 0x100682ec
call fcn.1004b7f0
push esi
mov esi, dword [esp + 0x14c]
push 0
push esi
mov ecx, edi
call fcn.10044b50
fld dword [0x101a2f3c]
push ecx
fstp dword [esp]
push 1
push 0
lea edx, [esp + 0x104]
push esi
push edx
mov dword [esp + 0x64], eax
call fcn.1003f630
add esp, 0x14
cmp byte [esp + 0x10], 0
je 0x10068335
call fcn.10040d40
fmul qword [0x101a6eb8]
jmp 0x1006833c
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.10051080
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.1004de10
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 0x100683eb
fld dword [ebp + 0x155c]
faddp st(2)
jmp 0x100683f1
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 0x100684df
mov esi, dword [esp + 0x50]
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x12c]
push esi
push ecx
call fcn.1004a6a0
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.10052a30
add esp, 0x18
test al, al
jne 0x100684a7
call fcn.10052ab0
call fcn.1004b940
pop esi
pop ebp
pop ebx
xor al, al
pop edi
add esp, 0x138
ret
mov eax, dword [0x101e9b30]
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 0x10068517
fld dword [ebp + 0x1548]
push ecx
lea eax, [esp + 0x12c]
fstp dword [esp]
push eax
call fcn.10044e60
mov esi, dword [esp + 0x58]
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x134]
push esi
push edx
call fcn.1004a6a0
add esp, 0x14
test al, al
je 0x1006849a
lea eax, [esp + 0x8c]
push esi
push eax
call fcn.10044f30
add esp, 8
test al, al
mov byte [esp + 0x16], al
je 0x1006853a
mov dword [ebp + 0x1c50], 1
test bl, bl
je 0x100685af
mov ecx, dword [ebp + 0x18b0]
push 0x2a
call fcn.10078bf0
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.1004b1e0
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.10044ff0
add esp, 0xc
test al, al
mov byte [esp + 0x17], al
je 0x100685ec
mov ecx, dword [edi + 0x328]
cmp ecx, dword [edi + 0x330]
jne 0x100685ec
mov al, 1
jmp 0x100685ee
xor al, al
cmp byte [esp + 0x17], 0
mov byte [esp + 0x1f], al
je 0x10068602
test al, al
mov byte [esp + 0x14], 1
je 0x10068607
mov byte [esp + 0x14], 0
cmp byte [esp + 0x16], 0
je 0x1006861c
cmp byte [ebp + 0x3e0], 0
mov byte [esp + 0x15], 1
jne 0x10068621
mov byte [esp + 0x15], 0
cmp byte [esp + 0x10], 0
je 0x10068651
cmp dword [ebp + 0x19b4], 0
jne 0x10068651
cmp dword [esi], ebx
jne 0x10068651
mov ecx, dword [esp + 0x4c]
push 0
push 0x101a7940
call fcn.10044bc0
cmp dword [ebp + 0x19b8], eax
jne 0x10068651
mov cl, 1
jmp 0x10068653
xor cl, cl
mov eax, dword [ebp + 0x19b4]
cmp eax, ebx
je 0x1006867d
cmp dword [ebp + 0x1ab4], ebx
je 0x10068676
cmp dword [ebp + 0x1aa8], ebx
jne 0x1006867d
cmp dword [ebp + 0x1ac4], 3
jne 0x1006867d
mov byte [esp + 0x12], 1
jmp 0x10068682
mov byte [esp + 0x12], 0
cmp eax, ebx
mov byte [esp + 0x27], 0
je 0x100686a8
test byte [esp + 0x15c], 0x10
jne 0x1006869c
cmp byte [esp + 0x12], 0
je 0x100686a8
cmp byte [esp + 0x10], 0
mov byte [esp + 0x13], 1
je 0x100686ad
mov byte [esp + 0x13], 0
cmp byte [esp + 0x17], 0
mov ebx, dword [esp + 0x154]
jne 0x100686e2
cmp byte [esp + 0x15], 0
jne 0x100686e2
test cl, cl
jne 0x100686e2
cmp byte [esp + 0x12], cl
jne 0x100686e2
cmp byte [ebp + 0x3e0], cl
je 0x10068824
mov byte [esp + 0x27], 1
jmp 0x10068824
cmp eax, dword [esp + 0x50]
je 0x100687e6
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 0x10068700
sub eax, edx
mov edi, eax
lea eax, [ebx + 1]
push eax
lea ecx, [esi + 4]
call fcn.10048910
add edi, 1
push edi
lea ecx, [esi + 0x10]
call fcn.10048a30
mov ecx, dword [esi + 0x18]
push edi
mov edi, dword [esp + 0x154]
push edi
push ecx
call fcn.10118d70
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.1003e110
fld dword [0x101a78f0]
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 0x10068783
cmp dword [esp + 0x34], eax
jne 0x10068783
mov ecx, esi
call fcn.10059940
jmp 0x100687b2
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.100582c0
add esp, 4
cmp byte [esp + 0x10], 0
jne 0x100687b2
cmp byte [esp + 0x1f], 0
je 0x100687b2
mov byte [esp + 0x13], 1
test dword [esp + 0x15c], 0x2000
je 0x100687c3
mov byte [esi + 0x44], 1
cmp byte [esp + 0x10], 0
jne 0x100687e6
cmp byte [esp + 0x14], 0
jne 0x100687e1
cmp byte [esp + 0x15], 0
je 0x100687e6
cmp byte [ebp + 0x108], 0
je 0x100687e6
mov byte [esp + 0x13], 1
mov edi, dword [esp + 0xac]
mov eax, dword [esp + 0x50]
push edi
push eax
call fcn.1003f010
mov ecx, dword [esp + 0x58]
push edi
push ecx
call fcn.1003f0b0
push edi
call fcn.100464f0
add esp, 0x14
cmp byte [esp + 0x10], 0
jne 0x10068824
test byte [esp + 0x15c], 0x80
jne 0x10068824
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 0x10068b2a
cmp byte [esp + 0x11], 0
jne 0x100688a2
cmp byte [ebp + 0x19c4], 0
jne 0x100688a2
lea eax, [ebx + 1]
lea edi, [esi + 4]
push eax
mov ecx, edi
call fcn.10048910
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.1003e110
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.10059940
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 0x10068926
fld dword [ebp + 0xf4]
mov edx, dword [esp + 0x4c]
fsub dword [edx + 0xcc]
fsub dword [ebp + 0x1548]
jmp 0x10068932
fld dword [ebp + 0x18b4]
fmul qword [0x101a4158]
cmp byte [esp + 0x13], 0
fstp dword [esp + 0x20]
mov cl, byte [ebp + 0xbd]
mov byte [esp + 0x2f], cl
jne 0x10068a39
mov al, byte [esp + 0x16]
test al, al
je 0x10068963
test cl, cl
jne 0x100689ad
cmp byte [ebp + 0x3e5], cl
jne 0x10068a39
cmp byte [ebp + 0x3e0], 0
je 0x100689d3
cmp byte [esi + 0xe61], 0
jne 0x100689d3
test al, al
je 0x10068a54
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.1005ce60
fld dword [0x101a78f0]
add esp, 8
fstp dword [esi + 0xe5c]
jmp 0x10068a54
cmp byte [ebp + 0x3e5], 0
je 0x10068963
push 0x1000c
mov ecx, esi
call fcn.10068230
push 0x3000d
mov ecx, esi
call fcn.10068230
jmp 0x10068a54
cmp byte [ebp + 0xf8], 0
je 0x10068a54
cmp byte [esi + 0xe61], 0
jne 0x10068a5d
fldz
fcom dword [ebp + 0x380]
fnstsw ax
test ah, 0x44
jp 0x10068a03
fcomp dword [ebp + 0x384]
fnstsw ax
test ah, 0x44
jnp 0x10068a54
jmp 0x10068a05
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.1005ceb0
fld dword [0x101a78f0]
add esp, 8
fstp dword [esi + 0xe5c]
mov byte [esi + 0xe60], 1
jmp 0x10068a54
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 0x10068a6d
cmp byte [ebp + 0xf8], 0
jne 0x10068a6d
mov byte [esi + 0xe61], 0
mov eax, dword [ebp + 0x1500]
test eax, eax
jle 0x10068b2a
cmp byte [ebp + 0x108], 0
je 0x10068a91
cmp byte [ebp + 0x10a], 0
je 0x10068b15
cmp byte [esp + 0x2f], 0
je 0x10068aa1
cmp byte [ebp + 0x10b], 0
jne 0x10068b15
cmp byte [esp + 0x11], 0
je 0x10068b15
cmp byte [esp + 0x12], 0
jne 0x10068b15
xor ebp, ebp
test eax, eax
jle 0x10068b15
jmp 0x10068ac0
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.10058350
add esp, 8
test al, al
je 0x10068b05
mov edx, dword [esp + 0x20]
push edx
mov ecx, esi
call fcn.10068230
mov eax, dword [esp + 0x30]
add ebp, 1
add eax, 0x1500
cmp ebp, dword [eax]
jl 0x10068ac0
mov ecx, dword [esp + 0x30]
push 0
add ecx, 0x1500
call fcn.10048910
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x50]
cmp dword [ebp + 0x19b4], eax
mov byte [esp + 0x2f], 0
jne 0x10069367
cmp byte [ebp + 0x19c4], 0
jne 0x10069367
cmp byte [esp + 0x27], 0
jne 0x10069367
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 0x10068b8d
cmp byte [ebp + 0x10b], 0
je 0x10068bb1
cmp byte [ebp + 0x108], 0
je 0x10068b9f
jmp 0x10068bb1
cmp byte [ebp + 0x108], 0
je 0x10068bb1
cmp byte [ebp + 0x10b], 0
jne 0x10068bb1
cmp byte [ebp + 0x10a], 0
jne 0x10068bb1
test cl, cl
mov byte [esp + 0x12], 1
je 0x10068bb6
mov byte [esp + 0x12], 0
test al, al
je 0x10068bde
cmp byte [ebp + 0x10b], 0
je 0x10068bde
test cl, cl
je 0x10068bde
cmp byte [ebp + 0x108], 0
jne 0x10068bde
cmp byte [ebp + 0x10a], 0
mov byte [esp + 0x55], 1
je 0x10068be3
mov byte [esp + 0x55], 0
test al, al
je 0x10068c55
cmp byte [ebp + 0x10b], 0
mov al, byte [ebp + 0x10a]
mov byte [esp + 0x15], al
je 0x10068c0c
cmp byte [ebp + 0x108], 0
jne 0x10068c0c
test al, al
mov byte [esp + 0x13], 1
je 0x10068c11
mov byte [esp + 0x13], 0
mov al, byte [ebp + 0x108]
test al, al
je 0x10068c34
test cl, cl
jne 0x10068c34
cmp byte [ebp + 0x10a], cl
jne 0x10068c34
cmp byte [ebp + 0x10b], cl
mov byte [esp + 0x16], 1
je 0x10068c39
mov byte [esp + 0x16], 0
test cl, cl
je 0x10068c61
test al, al
jne 0x10068c61
cmp byte [ebp + 0x10a], al
jne 0x10068c61
cmp byte [ebp + 0x10b], al
jne 0x10068c61
mov bl, 1
jmp 0x10068c63
mov al, byte [ebp + 0x108]
mov byte [esp + 0x15], al
jmp 0x10068c0c
xor bl, bl
cmp byte [esp + 0x12], 0
mov byte [esp + 0x14], bl
je 0x10068c7e
push 1
push 0x12
call fcn.10044160
add esp, 8
test al, al
jne 0x10068c92
test bl, bl
je 0x10068cb7
push 1
push 0xa
call fcn.10044160
add esp, 8
test al, al
je 0x10068cb7
mov bl, byte [esp + 0x11]
test bl, bl
je 0x10068cbb
cmp byte [esp + 0x47], 0
jne 0x10068cbb
cmp byte [esp + 0x10], 0
je 0x10068cb0
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [esi + 0x40]
je 0x10068cbb
mov byte [esp + 0x1f], 1
jmp 0x10068cc0
mov bl, byte [esp + 0x11]
mov byte [esp + 0x1f], 0
cmp byte [esp + 0x12], 0
je 0x10068cd7
push 1
push 0x10
call fcn.10044160
add esp, 8
test al, al
jne 0x10068cee
cmp byte [esp + 0x16], 0
je 0x10068d0b
push 1
push 9
call fcn.10044160
add esp, 8
test al, al
je 0x10068d0b
cmp byte [esp + 0x47], 0
jne 0x10068d0b
cmp byte [esp + 0x10], 0
je 0x10068d04
mov edx, dword [esi + 0x3c]
cmp edx, dword [esi + 0x40]
je 0x10068d0b
mov byte [esp + 0x16], 1
jmp 0x10068d10
mov byte [esp + 0x16], 0
cmp byte [esp + 0x12], 0
je 0x10068d27
push 1
push 0x11
call fcn.10044160
add esp, 8
test al, al
jne 0x10068d3e
cmp byte [esp + 0x14], 0
je 0x10068d47
push 1
push 9
call fcn.10044160
add esp, 8
test al, al
je 0x10068d47
test bl, bl
mov byte [esp + 0x14], 1
jne 0x10068d4c
mov byte [esp + 0x14], 0
cmp byte [esp + 0x12], 0
je 0x10068d72
push 1
push 0x14
call fcn.10044160
add esp, 8
test al, al
je 0x10068d72
test bl, bl
je 0x10068d72
cmp byte [esp + 0x26], 0
je 0x10068d72
mov bl, 1
jmp 0x10068d74
xor bl, bl
cmp byte [esp + 0x12], 0
je 0x10068d8b
push 1
push 0x13
call fcn.10044160
add esp, 8
test al, al
jne 0x10068da2
cmp byte [esp + 0x55], 0
je 0x10068db5
push 1
push 0x14
call fcn.10044160
add esp, 8
test al, al
je 0x10068db5
cmp byte [esp + 0x11], 0
je 0x10068db5
cmp byte [esp + 0x26], 0
mov byte [esp + 0x26], 1
jne 0x10068dba
mov byte [esp + 0x26], 0
push 1
push 1
call fcn.10044160
add esp, 8
test al, al
je 0x10068e04
cmp byte [esp + 0x13], 0
je 0x10068de5
mov eax, 0x10004
or eax, edi
push eax
mov ecx, esi
call fcn.10068230
jmp 0x10069367
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.10068230
jmp 0x10069367
push 1
push 2
call fcn.10044160
add esp, 8
test al, al
je 0x10068e4e
cmp byte [esp + 0x13], 0
je 0x10068e2f
mov eax, 0x10005
or eax, edi
push eax
mov ecx, esi
call fcn.10068230
jmp 0x10069367
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.10068230
jmp 0x10069367
push 1
push 3
call fcn.10044160
add esp, 8
test al, al
je 0x10068ec7
cmp byte [esp + 0x10], 0
je 0x10068ec7
cmp byte [ebp + 0x108], 0
je 0x10068ea8
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.10058e90
add esp, 4
fstp dword [esp]
push ecx
call fcn.100408b0
add esp, 8
jmp 0x10069367
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.10068230
jmp 0x10069367
push 1
push 4
call fcn.10044160
add esp, 8
test al, al
je 0x10068f43
cmp byte [esp + 0x10], 0
je 0x10068f43
cmp byte [ebp + 0x108], 0
je 0x10068f24
call fcn.10046a50
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.10058e60
add esp, 4
fstp dword [esp]
push ecx
call fcn.100408b0
add esp, 8
jmp 0x10069367
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.10068230
jmp 0x10069367
push 1
push 7
call fcn.10044160
add esp, 8
test al, al
je 0x10068f86
cmp byte [ebp + 0x108], 0
je 0x10068f71
or edi, 0x10006
mov eax, edi
push eax
mov ecx, esi
call fcn.10068230
jmp 0x10069367
or edi, 0x10004
mov eax, edi
push eax
mov ecx, esi
call fcn.10068230
jmp 0x10069367
push 1
push 8
call fcn.10044160
add esp, 8
test al, al
je 0x10068fc9
cmp byte [ebp + 0x108], 0
je 0x10068fb4
or edi, 0x10007
mov eax, edi
push eax
mov ecx, esi
call fcn.10068230
jmp 0x10069367
or edi, 0x10005
mov eax, edi
push eax
mov ecx, esi
call fcn.10068230
jmp 0x10069367
push 1
push 0xa
call fcn.10044160
add esp, 8
test al, al
je 0x10068ff3
cmp byte [esp + 0x11], 0
je 0x10068ff3
or edi, 0x10008
push edi
mov ecx, esi
call fcn.10068230
jmp 0x10069367
push 1
push 0xb
call fcn.10044160
add esp, 8
test al, al
je 0x10069061
cmp byte [esp + 0x11], 0
je 0x10069061
mov edx, dword [esi + 0x3c]
cmp edx, dword [esi + 0x40]
jne 0x1006904e
cmp byte [esp + 0x15], 0
je 0x10069020
push 0x3000c
jmp 0x10069047
cmp byte [esp + 0x6b], 0
je 0x1006904e
cmp byte [ebp + 0x10b], 0
je 0x1006904e
cmp byte [ebp + 0x10a], 0
jne 0x1006904e
cmp byte [ebp + 0x108], 0
jne 0x1006904e
push 0x30004
mov ecx, esi
call fcn.10068230
or edi, 0x10009
push edi
mov ecx, esi
call fcn.10068230
jmp 0x10069367
push 1
push 0xd
call fcn.10044160
add esp, 8
test al, al
je 0x100690be
mov eax, dword [esp + 0x15c]
shr eax, 0xb
and al, 1
cmp byte [esp + 0x10], 0
je 0x10069091
test al, al
je 0x100690a0
cmp byte [ebp + 0x108], 0
jne 0x100690a9
mov byte [esp + 0x27], 1
mov byte [esp + 0x17], 1
jmp 0x10069367
cmp byte [ebp + 0x108], 0
jne 0x10069091
cmp byte [esp + 0x11], 0
je 0x10069367
mov dword [esp + 0x20], 0xa
jmp 0x10069105
test dword [esp + 0x15c], 0x400
je 0x10069141
push 1
push 0
call fcn.10044160
add esp, 8
test al, al
je 0x10069141
cmp byte [ebp + 0x108], 0
jne 0x10069141
cmp byte [ebp + 0x109], 0
jne 0x10069141
cmp byte [ebp + 0x10a], 0
jne 0x10069141
cmp byte [esp + 0x11], 0
je 0x10069141
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.10058350
add esp, 8
test al, al
je 0x10069367
mov edx, dword [esp + 0x20]
push edx
mov ecx, esi
call fcn.10068230
jmp 0x10069367
push 1
push 0xe
call fcn.10044160
add esp, 8
test al, al
je 0x10069160
mov byte [esp + 0x2f], 1
mov byte [esp + 0x27], 1
jmp 0x10069367
test bl, bl
jne 0x1006934c
cmp byte [esp + 0x26], bl
jne 0x1006934c
cmp byte [esp + 0x12], bl
je 0x100691a4
push 1
push 0xf
call fcn.10044160
add esp, 8
test al, al
je 0x100691a4
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 0x10069364
cmp byte [esp + 0x1f], 0
jne 0x100692a1
cmp byte [esp + 0x16], 0
jne 0x100692a1
cmp byte [esp + 0x14], 0
je 0x10069367
call fcn.1003f390
mov edi, eax
test edi, edi
je 0x10069367
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100691d7
sub eax, edx
lea eax, [eax + eax + 2]
push eax
call fcn.1003f330
add esp, 4
xor ebp, ebp
cmp byte [edi], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edi
je 0x10069269
mov edi, edi
mov edi, dword [esp + 0x18]
push 0
lea ecx, [esp + 0x24]
push edi
push ecx
call fcn.1003df60
add edi, eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
mov dword [esp + 0x18], edi
je 0x10069269
cmp eax, 0x10000
jae 0x10069260
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.10058350
add esp, 8
test al, al
je 0x10069260
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 0x10069200
test ebp, ebp
mov edi, dword [esp + 0x28]
mov word [edi + ebp*2], 0
jle 0x1006928f
lea ecx, [esi + 0x38]
push ecx
push esi
mov eax, ebp
mov ecx, edi
call fcn.100624f0
add esp, 8
mov byte [esi + 0xe60], 1
push edi
call fcn.1003f360
mov ebp, dword [esp + 0x34]
add esp, 4
jmp 0x10069367
cmp dword [ebp + 0xdc], 0
je 0x10069316
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0x40]
cmp eax, edi
je 0x100692c2
jge 0x100692bc
mov dword [esp + 0x18], eax
jmp 0x100692ca
mov dword [esp + 0x18], edi
jmp 0x100692ca
mov dword [esp + 0x18], 0
cmp eax, edi
je 0x100692d4
jl 0x100692d7
mov edi, eax
jmp 0x100692d7
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.10048a30
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.1003e300
mov eax, dword [esi + 0x24]
push eax
call fcn.1003f3c0
add esp, 0x14
cmp byte [esp + 0x1f], 0
je 0x10069367
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [esi + 0x40]
jne 0x10069339
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.100621d0
jmp 0x10069367
neg bl
mov ecx, esi
sbb ebx, ebx
add ebx, 0x1000b
push ebx
call fcn.10068230
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 0x1006978d
xor ebx, ebx
cmp byte [esp + 0x2f], bl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
je 0x100693ef
cmp byte [esp + 0x11], bl
je 0x100693d7
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 0x100693c0
test dl, dl
je 0x100693bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100693c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x100693a0
xor eax, eax
jmp 0x100693c5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x100693d7
mov eax, dword [esi + 0x10]
sub eax, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], eax
cmp byte [esp + 0x17], bl
je 0x10069684
test byte [esp + 0x15c], 0x20
je 0x10069684
cmp byte [esp + 0x11], bl
je 0x1006941e
mov edx, dword [esi + 4]
lea eax, [edx*4 + 1]
lea edi, [esi + 0x1c]
push eax
mov ecx, edi
call fcn.10048a30
mov ecx, dword [esi + 0xc]
mov edx, dword [edi]
mov eax, dword [esi + 0x24]
push ebx
push ecx
push edx
push eax
call fcn.1003e300
add esp, 0x10
test dword [esp + 0x15c], 0x1c0
je 0x10069638
test byte [esp + 0x15c], 0x40
mov ebx, 0x15
je 0x10069457
push 1
push 0
call fcn.10044160
add esp, 8
test al, al
je 0x10069457
mov edi, 0x40
xor ebx, ebx
jmp 0x100694b4
mov edi, dword [esp + 0x15c]
and edi, 0x80
je 0x10069482
push 1
push 3
call fcn.10044160
add esp, 8
test al, al
je 0x10069482
mov edi, 0x80
mov ebx, 3
jmp 0x100694b4
test edi, edi
je 0x100694a2
push 1
push 4
call fcn.10044160
add esp, 8
test al, al
je 0x100694a2
mov edi, 0x80
mov ebx, 4
jmp 0x100694b4
mov edi, 0x100
test dword [esp + 0x15c], edi
je 0x10069638
push 0x30
lea ecx, [esp + 0xcc]
push 0
push ecx
call fcn.101188f0
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.1003e370
mov dword [esp + 0x100], eax
mov ebx, eax
mov eax, dword [esi + 0x3c]
lea ecx, [edi + eax*2]
push ecx
push edi
call fcn.1003e370
mov edx, dword [esi + 0x40]
mov dword [esp + 0x10c], eax
mov ebp, eax
lea eax, [edi + edx*2]
push eax
push edi
call fcn.1003e370
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 0x10069594
mov ecx, dword [esp + 0xdc]
add eax, ecx
push eax
push ecx
call fcn.1003e190
add esp, 8
mov dword [esi + 0x38], eax
mov byte [esi + 0xe60], 1
mov ecx, dword [esp + 0xf0]
cmp ecx, ebp
je 0x100695b5
mov eax, dword [esp + 0xdc]
add ecx, eax
push ecx
push eax
call fcn.1003e190
add esp, 8
mov dword [esi + 0x3c], eax
mov ecx, dword [esp + 0xf4]
cmp ecx, edi
je 0x100695d6
mov eax, dword [esp + 0xdc]
add ecx, eax
push ecx
push eax
call fcn.1003e190
add esp, 8
mov dword [esi + 0x40], eax
cmp byte [esp + 0xe8], 0
je 0x10069638
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x48]
cmp eax, edx
jle 0x10069603
cmp byte [esp + 0x56], 0
je 0x10069603
lea ecx, [esi + 4]
sub eax, edx
add eax, dword [ecx]
push eax
call fcn.10048910
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.1003e110
fld dword [0x101a78f0]
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 0x10069684
mov edi, dword [esi + 0x24]
mov ecx, dword [esp + 0x150]
mov eax, edi
jmp 0x10069650
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10069670
test dl, dl
je 0x1006966c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10069670
add eax, 2
add ecx, 2
test dl, dl
jne 0x10069650
xor eax, eax
jmp 0x10069675
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10069684
mov eax, dword [esi + 0x28]
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], eax
xor eax, eax
cmp dword [esp + 0x20], eax
je 0x10069773
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x48], edi
je 0x10069747
cmp byte [esp + 0x56], al
je 0x10069747
lea ecx, [esp + 0xc8]
call fcn.100582d0
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 0x100696fe
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 0x1006974e
mov edi, eax
jmp 0x1006974e
mov ecx, dword [esp + 0x154]
lea eax, [edi + 1]
cmp eax, ecx
jl 0x10069757
mov eax, ecx
mov ecx, dword [esp + 0x150]
push eax
mov eax, dword [esi + 0x24]
push eax
push ecx
call fcn.1003dbb0
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 0x100697a1
cmp dword [ebp + 0x19b4], ebx
jne 0x100697b5
call fcn.1003f180
cmp dword [ebp + 0x19b4], ebx
jne 0x100697b5
cmp byte [esp + 0x11], 0
je 0x100697b5
mov edi, dword [esi + 0x24]
jmp 0x100697bc
mov edi, dword [esp + 0x150]
cmp byte [esp + 0x10], 0
mov dword [esp + 0x20], edi
jne 0x1006981e
push 1
lea edx, [esp + 0x90]
push ebx
push edx
call fcn.1003ed90
fld dword [ebp + 0x154c]
add esp, 8
fstp dword [esp]
push 1
fld1
push ecx
fstp dword [esp]
push 7
call fcn.1003e770
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.1003e940
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 0x10069871
mov eax, dword [esp + 0x4c]
fstp st(0)
fstp st(0)
add eax, 0xc8
jmp 0x1006988d
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 0x100698ce
test cl, cl
je 0x100698ce
mov ecx, dword [esp + 0x4c]
push 0
push 0x101a7940
call fcn.10044bc0
cmp dword [ebp + 0x19b4], eax
jne 0x100698ce
mov al, 1
jmp 0x100698d0
xor al, al
cmp dword [ebp + 0x19b4], ebx
je 0x100699b8
test al, al
jne 0x100699b8
cmp byte [esp + 0x10], al
mov dword [esp + 0x28], 0
je 0x10069930
fld dword [esp + 0xa4]
lea esi, [esp + 0x28]
mov ecx, edi
fstp dword [esp + 0x60]
call fcn.10057e50
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 0x10069956
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10069935
sub eax, edx
add eax, edi
mov ecx, eax
sub ecx, edi
cmp ecx, 0x200000
jge 0x1006a29b
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.1003e770
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.1007ffa0
mov ebp, dword [esp + 0x30]
jmp 0x1006a253
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 0x10069a29
jl 0x10069a15
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 0x10069a89
movzx edx, dx
cmp dx, 0xa
jne 0x10069a79
add ecx, 1
cmp dword [esp + 0x58], 0xffffffff
jne 0x10069a65
cmp ebx, dword [esp + 0x6c]
jb 0x10069a65
sub eax, 1
test eax, eax
mov dword [esp + 0x58], ecx
jle 0x10069a85
cmp edi, 0xffffffff
jne 0x10069a79
cmp ebx, dword [esp + 0x70]
jb 0x10069a79
sub eax, 1
test eax, eax
mov edi, ecx
jle 0x10069a85
movzx edx, word [ebx + 2]
add ebx, 2
test dx, dx
jne 0x10069a44
mov dword [esp + 0x5c], edi
add ecx, 1
cmp dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x34], ecx
jne 0x10069a9b
mov dword [esp + 0x58], ecx
cmp edi, 0xffffffff
jne 0x10069aa4
mov dword [esp + 0x5c], ecx
mov edi, dword [esp + 0x6c]
push 0
push 0
push ebp
push edi
call fcn.1003dc50
add esp, 8
xor bl, bl
lea ecx, [esp + 0xc8]
call fcn.1005ca60
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 0x10069b2b
mov edi, dword [esp + 0x70]
push 0
push 0
push ebp
push edi
call fcn.1003dc50
add esp, 8
lea ecx, [esp + 0xc8]
call fcn.1005ca60
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 0x10069b60
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 0x10069ca7
test dword [esp + 0x15c], 0x1000
jne 0x10069c02
fld st(2)
fmul qword [0x101a6e90]
fstp dword [esp + 0x28]
fld dword [esi + 0x34]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x10069bda
fstp st(2)
fld dword [esp + 0x28]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fcom qword [0x101a29c0]
fnstsw ax
test ah, 0x41
jp 0x10069bc0
fstp st(0)
fldz
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
call fcn.101185e0
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fstp dword [esi + 0x34]
jmp 0x10069c0f
fsubrp st(2)
fld dword [esi + 0x34]
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x10069c0d
fld dword [esp + 0x28]
faddp st(2)
fxch st(1)
call fcn.101185e0
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fstp dword [esi + 0x34]
jmp 0x10069c0f
fstp st(2)
fstp st(1)
fldz
fstp dword [esi + 0x34]
jmp 0x10069c0f
fstp st(1)
test bl, bl
je 0x10069cab
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 0x10069c5e
fstp st(0)
fstp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fcom qword [0x101a29c0]
fnstsw ax
test ah, 0x41
jp 0x10069c58
fstp st(0)
fldz
fstp dword [esp + 0x18]
jmp 0x10069c7a
fstp st(1)
fld dword [esp + 0xa8]
fsubp st(2)
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x10069c78
fstp dword [esp + 0x18]
jmp 0x10069c7a
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 0x10069cad
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 0x1006a019
mov edx, eax
jl 0x10069ccf
mov edx, ecx
cmp eax, ecx
lea ebx, [ebp + edx*2]
jge 0x10069cd9
mov eax, ecx
cmp byte [esp + 0x10], 0
lea edi, [ebp + eax*2]
je 0x10069cef
fldz
fst dword [esp + 0xac]
jmp 0x10069d02
fld dword [0x101a2f3c]
fstp dword [esp + 0xac]
fld dword [0x101a4258]
fstp dword [esp + 0x48]
push ecx
fld1
fstp dword [esp]
push 0x2a
call fcn.1003e770
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 [0x101a29c0]
fstp dword [esp + 0x70]
jae 0x1006a01d
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 0x1006a015
fld dword [esp + 0xb4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x10069de0
cmp ecx, edi
jae 0x10069dbe
mov ax, word [ecx]
add ecx, 2
cmp ax, 0xa
je 0x10069dba
cmp ecx, edi
jb 0x10069daa
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 0x10069d70
jmp 0x1006a01d
lea edx, [esp + 0x18]
fstp st(0)
push 0
mov eax, ecx
push edx
mov bl, 1
lea ecx, [esp + 0xa4]
call fcn.1005ca60
fldz
fcomp dword [esp + 0xa4]
add esp, 8
fnstsw ax
test bl, ah
jne 0x10069e47
mov eax, dword [ebp + 0x18b0]
cmp dword [eax + 0x1c], 0x20
jle 0x10069e22
mov eax, dword [eax + 0x24]
fld dword [eax + 0x80]
jmp 0x10069e25
fld dword [eax + 0x38]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fmul qword [0x101a4158]
call fcn.101185e0
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 [0x101a29c0]
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 0x10069ebe
fxch st(1)
fstp dword [esp + 0x34]
jmp 0x10069ec4
fstp st(1)
fst dword [esp + 0x34]
fld dword [esp + 0x110]
fld dword [esp + 0xb0]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x10069edf
fstp st(0)
jmp 0x10069ee1
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 0x10069f36
fxch st(1)
fstp dword [esp + 0x28]
jmp 0x10069f3c
fstp st(1)
fst dword [esp + 0x28]
fld dword [esp + 0x118]
fld dword [esp + 0xb8]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x10069f5c
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 0x10069ff7
fcompp
fnstsw ax
test ah, 0x41
jne 0x1006a008
fld dword [esp + 0xb0]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1006a00a
fld dword [esp + 0xb8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x1006a00c
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.1007fc20
fld dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
jmp 0x10069dbe
mov ecx, dword [esp + 0x18]
fstp st(3)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x10069dbe
fstp st(1)
fstp st(0)
mov ecx, dword [esp + 0x18]
jmp 0x10069dbe
fstp st(0)
jmp 0x1006a01d
mov ebp, dword [esp + 0x30]
mov al, byte [esp + 0x10]
test al, al
mov esi, dword [esi + 0x28]
jne 0x1006a030
cmp esi, 0x200000
jge 0x1006a0a4
fld dword [esp + 0x84]
neg al
fsub dword [esp + 0x60]
lea ecx, [esp + 0xb0]
fstp dword [esp + 0x3c]
fld dword [esp + 0x88]
fsub qword [0x101a29c0]
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.1003e770
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.1007ffa0
cmp byte [ebp + 0xbe], 0
je 0x1006a0e6
fldz
fcomp dword [ebp + 0x2b68]
fnstsw ax
test ah, 1
je 0x1006a0e6
fld dword [ebp + 0x2b68]
fld qword [0x101a7a18]
call fcn.1011b12a
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fcomp qword [0x101a6da0]
fnstsw ax
test ah, 0x41
jnp 0x1006a0e6
xor al, al
jmp 0x1006a0e8
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 [0x101a29c0]
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 [0x101a4158]
fstp dword [esp + 0x104]
fld st(1)
fadd qword [0x101a5210]
fstp dword [esp + 0x108]
fld qword [0x101a7b90]
fsubr st(1)
fstp dword [esp + 0x10c]
je 0x1006a21c
fld dword [esp + 0xb4]
fld dword [esp + 0x10c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1006a21a
fld dword [esp + 0xbc]
fld dword [esp + 0x104]
fcompp
fnstsw ax
test ah, 5
jp 0x1006a21a
fld dword [esp + 0xb0]
fld dword [esp + 0x108]
fcompp
fnstsw ax
test ah, 0x41
jne 0x1006a21a
fld dword [esp + 0xb8]
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x1006a21a
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.1003e770
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.1007fa30
fld dword [esp + 0x7c]
fld dword [esp + 0x80]
jmp 0x1006a21c
fstp st(0)
cmp byte [esp + 0x11], 0
je 0x1006a24f
fxch st(1)
fsub qword [0x101a5210]
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 0x1006a253
fstp st(1)
fstp st(0)
cmp byte [esp + 0x10], 0
je 0x1006a29b
fld dword [ebp + 0x18b4]
lea ecx, [esp + 0x3c]
fstp dword [esp + 0xc4]
push ecx
fld dword [esp + 0x78]
fadd qword [0x101a29c0]
fstp dword [esp + 0x40]
fld dword [esp + 0xc8]
fadd dword [esp + 0x7c]
fstp dword [esp + 0x44]
call fcn.10057570
add esp, 4
call fcn.10052ab0
call fcn.1004b940
mov bl, byte [esp + 0x47]
test bl, bl
je 0x1006a2a8
call fcn.10046660
mov esi, dword [esp + 0x30]
cmp byte [esi + 0x2c4c], 0
je 0x1006a2d0
test bl, bl
jne 0x1006a2d0
mov edx, dword [esp + 0x20]
push 0
push edx
lea eax, [esp + 0x8c]
push eax
call fcn.1004cd50
add esp, 0xc
fldz
fcomp dword [esp + 0xf8]
fnstsw ax
test ah, 5
jp 0x1006a320
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.1004db60
add esp, 0x14
mov bl, byte [esp + 0x57]
test bl, bl
je 0x1006a335
mov ecx, dword [esp + 0x50]
push ecx
call fcn.1003f220
add esp, 4
test byte [esp + 0x15c], 0x20
mov al, byte [esp + 0x17]
jne 0x1006a345
mov al, bl
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret