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

Disassembly:
sub esp, 0x138
mov eax, dword [0x101eaae8]
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 0x100694f3
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 [0x101eaae8]
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 0x1006954c
call fcn.1004ca50
push esi
mov esi, dword [esp + 0x14c]
push 0
push esi
mov ecx, edi
call fcn.10045db0
fld dword [0x101a3f34]
push ecx
fstp dword [esp]
push 1
push 0
lea edx, [esp + 0x104]
push esi
push edx
mov dword [esp + 0x64], eax
call fcn.10040890
add esp, 0x14
cmp byte [esp + 0x10], 0
je 0x10069595
call fcn.10041fa0
fmul qword [0x101a7e28]
jmp 0x1006959c
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.100522e0
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.1004f070
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 0x1006964b
fld dword [ebp + 0x155c]
faddp st(2)
jmp 0x10069651
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 0x1006973f
mov esi, dword [esp + 0x50]
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x12c]
push esi
push ecx
call fcn.1004b900
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.10053c90
add esp, 0x18
test al, al
jne 0x10069707
call fcn.10053d10
call fcn.1004cba0
pop esi
pop ebp
pop ebx
xor al, al
pop edi
add esp, 0x138
ret
mov eax, dword [0x101eaae8]
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 0x10069777
fld dword [ebp + 0x1548]
push ecx
lea eax, [esp + 0x12c]
fstp dword [esp]
push eax
call fcn.100460c0
mov esi, dword [esp + 0x58]
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x134]
push esi
push edx
call fcn.1004b900
add esp, 0x14
test al, al
je 0x100696fa
lea eax, [esp + 0x8c]
push esi
push eax
call fcn.10046190
add esp, 8
test al, al
mov byte [esp + 0x16], al
je 0x1006979a
mov dword [ebp + 0x1c50], 1
test bl, bl
je 0x1006980f
mov ecx, dword [ebp + 0x18b0]
push 0x2a
call fcn.10079e50
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.1004c440
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.10046250
add esp, 0xc
test al, al
mov byte [esp + 0x17], al
je 0x1006984c
mov ecx, dword [edi + 0x328]
cmp ecx, dword [edi + 0x330]
jne 0x1006984c
mov al, 1
jmp 0x1006984e
xor al, al
cmp byte [esp + 0x17], 0
mov byte [esp + 0x1f], al
je 0x10069862
test al, al
mov byte [esp + 0x14], 1
je 0x10069867
mov byte [esp + 0x14], 0
cmp byte [esp + 0x16], 0
je 0x1006987c
cmp byte [ebp + 0x3e0], 0
mov byte [esp + 0x15], 1
jne 0x10069881
mov byte [esp + 0x15], 0
cmp byte [esp + 0x10], 0
je 0x100698b1
cmp dword [ebp + 0x19b4], 0
jne 0x100698b1
cmp dword [esi], ebx
jne 0x100698b1
mov ecx, dword [esp + 0x4c]
push 0
push 0x101a88b0
call fcn.10045e20
cmp dword [ebp + 0x19b8], eax
jne 0x100698b1
mov cl, 1
jmp 0x100698b3
xor cl, cl
mov eax, dword [ebp + 0x19b4]
cmp eax, ebx
je 0x100698dd
cmp dword [ebp + 0x1ab4], ebx
je 0x100698d6
cmp dword [ebp + 0x1aa8], ebx
jne 0x100698dd
cmp dword [ebp + 0x1ac4], 3
jne 0x100698dd
mov byte [esp + 0x12], 1
jmp 0x100698e2
mov byte [esp + 0x12], 0
cmp eax, ebx
mov byte [esp + 0x27], 0
je 0x10069908
test byte [esp + 0x15c], 0x10
jne 0x100698fc
cmp byte [esp + 0x12], 0
je 0x10069908
cmp byte [esp + 0x10], 0
mov byte [esp + 0x13], 1
je 0x1006990d
mov byte [esp + 0x13], 0
cmp byte [esp + 0x17], 0
mov ebx, dword [esp + 0x154]
jne 0x10069942
cmp byte [esp + 0x15], 0
jne 0x10069942
test cl, cl
jne 0x10069942
cmp byte [esp + 0x12], cl
jne 0x10069942
cmp byte [ebp + 0x3e0], cl
je 0x10069a84
mov byte [esp + 0x27], 1
jmp 0x10069a84
cmp eax, dword [esp + 0x50]
je 0x10069a46
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 0x10069960
sub eax, edx
mov edi, eax
lea eax, [ebx + 1]
push eax
lea ecx, [esi + 4]
call fcn.10049b70
add edi, 1
push edi
lea ecx, [esi + 0x10]
call fcn.10049c90
mov ecx, dword [esi + 0x18]
push edi
mov edi, dword [esp + 0x154]
push edi
push ecx
call fcn.10119fb0
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.1003f370
fld dword [0x101a8860]
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 0x100699e3
cmp dword [esp + 0x34], eax
jne 0x100699e3
mov ecx, esi
call fcn.1005aba0
jmp 0x10069a12
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.10059520
add esp, 4
cmp byte [esp + 0x10], 0
jne 0x10069a12
cmp byte [esp + 0x1f], 0
je 0x10069a12
mov byte [esp + 0x13], 1
test dword [esp + 0x15c], 0x2000
je 0x10069a23
mov byte [esi + 0x44], 1
cmp byte [esp + 0x10], 0
jne 0x10069a46
cmp byte [esp + 0x14], 0
jne 0x10069a41
cmp byte [esp + 0x15], 0
je 0x10069a46
cmp byte [ebp + 0x108], 0
je 0x10069a46
mov byte [esp + 0x13], 1
mov edi, dword [esp + 0xac]
mov eax, dword [esp + 0x50]
push edi
push eax
call fcn.10040270
mov ecx, dword [esp + 0x58]
push edi
push ecx
call fcn.10040310
push edi
call fcn.10047750
add esp, 0x14
cmp byte [esp + 0x10], 0
jne 0x10069a84
test byte [esp + 0x15c], 0x80
jne 0x10069a84
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 0x10069d8a
cmp byte [esp + 0x11], 0
jne 0x10069b02
cmp byte [ebp + 0x19c4], 0
jne 0x10069b02
lea eax, [ebx + 1]
lea edi, [esi + 4]
push eax
mov ecx, edi
call fcn.10049b70
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.1003f370
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.1005aba0
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 0x10069b86
fld dword [ebp + 0xf4]
mov edx, dword [esp + 0x4c]
fsub dword [edx + 0xcc]
fsub dword [ebp + 0x1548]
jmp 0x10069b92
fld dword [ebp + 0x18b4]
fmul qword [0x101a5110]
cmp byte [esp + 0x13], 0
fstp dword [esp + 0x20]
mov cl, byte [ebp + 0xbd]
mov byte [esp + 0x2f], cl
jne 0x10069c99
mov al, byte [esp + 0x16]
test al, al
je 0x10069bc3
test cl, cl
jne 0x10069c0d
cmp byte [ebp + 0x3e5], cl
jne 0x10069c99
cmp byte [ebp + 0x3e0], 0
je 0x10069c33
cmp byte [esi + 0xe61], 0
jne 0x10069c33
test al, al
je 0x10069cb4
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.1005e0c0
fld dword [0x101a8860]
add esp, 8
fstp dword [esi + 0xe5c]
jmp 0x10069cb4
cmp byte [ebp + 0x3e5], 0
je 0x10069bc3
push 0x1000c
mov ecx, esi
call fcn.10069490
push 0x3000d
mov ecx, esi
call fcn.10069490
jmp 0x10069cb4
cmp byte [ebp + 0xf8], 0
je 0x10069cb4
cmp byte [esi + 0xe61], 0
jne 0x10069cbd
fldz
fcom dword [ebp + 0x380]
fnstsw ax
test ah, 0x44
jp 0x10069c63
fcomp dword [ebp + 0x384]
fnstsw ax
test ah, 0x44
jnp 0x10069cb4
jmp 0x10069c65
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.1005e110
fld dword [0x101a8860]
add esp, 8
fstp dword [esi + 0xe5c]
mov byte [esi + 0xe60], 1
jmp 0x10069cb4
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 0x10069ccd
cmp byte [ebp + 0xf8], 0
jne 0x10069ccd
mov byte [esi + 0xe61], 0
mov eax, dword [ebp + 0x1500]
test eax, eax
jle 0x10069d8a
cmp byte [ebp + 0x108], 0
je 0x10069cf1
cmp byte [ebp + 0x10a], 0
je 0x10069d75
cmp byte [esp + 0x2f], 0
je 0x10069d01
cmp byte [ebp + 0x10b], 0
jne 0x10069d75
cmp byte [esp + 0x11], 0
je 0x10069d75
cmp byte [esp + 0x12], 0
jne 0x10069d75
xor ebp, ebp
test eax, eax
jle 0x10069d75
jmp 0x10069d20
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.100595b0
add esp, 8
test al, al
je 0x10069d65
mov edx, dword [esp + 0x20]
push edx
mov ecx, esi
call fcn.10069490
mov eax, dword [esp + 0x30]
add ebp, 1
add eax, 0x1500
cmp ebp, dword [eax]
jl 0x10069d20
mov ecx, dword [esp + 0x30]
push 0
add ecx, 0x1500
call fcn.10049b70
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x50]
cmp dword [ebp + 0x19b4], eax
mov byte [esp + 0x2f], 0
jne 0x1006a5c7
cmp byte [ebp + 0x19c4], 0
jne 0x1006a5c7
cmp byte [esp + 0x27], 0
jne 0x1006a5c7
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 0x10069ded
cmp byte [ebp + 0x10b], 0
je 0x10069e11
cmp byte [ebp + 0x108], 0
je 0x10069dff
jmp 0x10069e11
cmp byte [ebp + 0x108], 0
je 0x10069e11
cmp byte [ebp + 0x10b], 0
jne 0x10069e11
cmp byte [ebp + 0x10a], 0
jne 0x10069e11
test cl, cl
mov byte [esp + 0x12], 1
je 0x10069e16
mov byte [esp + 0x12], 0
test al, al
je 0x10069e3e
cmp byte [ebp + 0x10b], 0
je 0x10069e3e
test cl, cl
je 0x10069e3e
cmp byte [ebp + 0x108], 0
jne 0x10069e3e
cmp byte [ebp + 0x10a], 0
mov byte [esp + 0x55], 1
je 0x10069e43
mov byte [esp + 0x55], 0
test al, al
je 0x10069eb5
cmp byte [ebp + 0x10b], 0
mov al, byte [ebp + 0x10a]
mov byte [esp + 0x15], al
je 0x10069e6c
cmp byte [ebp + 0x108], 0
jne 0x10069e6c
test al, al
mov byte [esp + 0x13], 1
je 0x10069e71
mov byte [esp + 0x13], 0
mov al, byte [ebp + 0x108]
test al, al
je 0x10069e94
test cl, cl
jne 0x10069e94
cmp byte [ebp + 0x10a], cl
jne 0x10069e94
cmp byte [ebp + 0x10b], cl
mov byte [esp + 0x16], 1
je 0x10069e99
mov byte [esp + 0x16], 0
test cl, cl
je 0x10069ec1
test al, al
jne 0x10069ec1
cmp byte [ebp + 0x10a], al
jne 0x10069ec1
cmp byte [ebp + 0x10b], al
jne 0x10069ec1
mov bl, 1
jmp 0x10069ec3
mov al, byte [ebp + 0x108]
mov byte [esp + 0x15], al
jmp 0x10069e6c
xor bl, bl
cmp byte [esp + 0x12], 0
mov byte [esp + 0x14], bl
je 0x10069ede
push 1
push 0x12
call fcn.100453c0
add esp, 8
test al, al
jne 0x10069ef2
test bl, bl
je 0x10069f17
push 1
push 0xa
call fcn.100453c0
add esp, 8
test al, al
je 0x10069f17
mov bl, byte [esp + 0x11]
test bl, bl
je 0x10069f1b
cmp byte [esp + 0x47], 0
jne 0x10069f1b
cmp byte [esp + 0x10], 0
je 0x10069f10
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [esi + 0x40]
je 0x10069f1b
mov byte [esp + 0x1f], 1
jmp 0x10069f20
mov bl, byte [esp + 0x11]
mov byte [esp + 0x1f], 0
cmp byte [esp + 0x12], 0
je 0x10069f37
push 1
push 0x10
call fcn.100453c0
add esp, 8
test al, al
jne 0x10069f4e
cmp byte [esp + 0x16], 0
je 0x10069f6b
push 1
push 9
call fcn.100453c0
add esp, 8
test al, al
je 0x10069f6b
cmp byte [esp + 0x47], 0
jne 0x10069f6b
cmp byte [esp + 0x10], 0
je 0x10069f64
mov edx, dword [esi + 0x3c]
cmp edx, dword [esi + 0x40]
je 0x10069f6b
mov byte [esp + 0x16], 1
jmp 0x10069f70
mov byte [esp + 0x16], 0
cmp byte [esp + 0x12], 0
je 0x10069f87
push 1
push 0x11
call fcn.100453c0
add esp, 8
test al, al
jne 0x10069f9e
cmp byte [esp + 0x14], 0
je 0x10069fa7
push 1
push 9
call fcn.100453c0
add esp, 8
test al, al
je 0x10069fa7
test bl, bl
mov byte [esp + 0x14], 1
jne 0x10069fac
mov byte [esp + 0x14], 0
cmp byte [esp + 0x12], 0
je 0x10069fd2
push 1
push 0x14
call fcn.100453c0
add esp, 8
test al, al
je 0x10069fd2
test bl, bl
je 0x10069fd2
cmp byte [esp + 0x26], 0
je 0x10069fd2
mov bl, 1
jmp 0x10069fd4
xor bl, bl
cmp byte [esp + 0x12], 0
je 0x10069feb
push 1
push 0x13
call fcn.100453c0
add esp, 8
test al, al
jne 0x1006a002
cmp byte [esp + 0x55], 0
je 0x1006a015
push 1
push 0x14
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a015
cmp byte [esp + 0x11], 0
je 0x1006a015
cmp byte [esp + 0x26], 0
mov byte [esp + 0x26], 1
jne 0x1006a01a
mov byte [esp + 0x26], 0
push 1
push 1
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a064
cmp byte [esp + 0x13], 0
je 0x1006a045
mov eax, 0x10004
or eax, edi
push eax
mov ecx, esi
call fcn.10069490
jmp 0x1006a5c7
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.10069490
jmp 0x1006a5c7
push 1
push 2
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a0ae
cmp byte [esp + 0x13], 0
je 0x1006a08f
mov eax, 0x10005
or eax, edi
push eax
mov ecx, esi
call fcn.10069490
jmp 0x1006a5c7
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.10069490
jmp 0x1006a5c7
push 1
push 3
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a127
cmp byte [esp + 0x10], 0
je 0x1006a127
cmp byte [ebp + 0x108], 0
je 0x1006a108
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.1005a0f0
add esp, 4
fstp dword [esp]
push ecx
call fcn.10041b10
add esp, 8
jmp 0x1006a5c7
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.10069490
jmp 0x1006a5c7
push 1
push 4
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a1a3
cmp byte [esp + 0x10], 0
je 0x1006a1a3
cmp byte [ebp + 0x108], 0
je 0x1006a184
call fcn.10047cb0
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.1005a0c0
add esp, 4
fstp dword [esp]
push ecx
call fcn.10041b10
add esp, 8
jmp 0x1006a5c7
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.10069490
jmp 0x1006a5c7
push 1
push 7
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a1e6
cmp byte [ebp + 0x108], 0
je 0x1006a1d1
or edi, 0x10006
mov eax, edi
push eax
mov ecx, esi
call fcn.10069490
jmp 0x1006a5c7
or edi, 0x10004
mov eax, edi
push eax
mov ecx, esi
call fcn.10069490
jmp 0x1006a5c7
push 1
push 8
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a229
cmp byte [ebp + 0x108], 0
je 0x1006a214
or edi, 0x10007
mov eax, edi
push eax
mov ecx, esi
call fcn.10069490
jmp 0x1006a5c7
or edi, 0x10005
mov eax, edi
push eax
mov ecx, esi
call fcn.10069490
jmp 0x1006a5c7
push 1
push 0xa
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a253
cmp byte [esp + 0x11], 0
je 0x1006a253
or edi, 0x10008
push edi
mov ecx, esi
call fcn.10069490
jmp 0x1006a5c7
push 1
push 0xb
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a2c1
cmp byte [esp + 0x11], 0
je 0x1006a2c1
mov edx, dword [esi + 0x3c]
cmp edx, dword [esi + 0x40]
jne 0x1006a2ae
cmp byte [esp + 0x15], 0
je 0x1006a280
push 0x3000c
jmp 0x1006a2a7
cmp byte [esp + 0x6b], 0
je 0x1006a2ae
cmp byte [ebp + 0x10b], 0
je 0x1006a2ae
cmp byte [ebp + 0x10a], 0
jne 0x1006a2ae
cmp byte [ebp + 0x108], 0
jne 0x1006a2ae
push 0x30004
mov ecx, esi
call fcn.10069490
or edi, 0x10009
push edi
mov ecx, esi
call fcn.10069490
jmp 0x1006a5c7
push 1
push 0xd
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a31e
mov eax, dword [esp + 0x15c]
shr eax, 0xb
and al, 1
cmp byte [esp + 0x10], 0
je 0x1006a2f1
test al, al
je 0x1006a300
cmp byte [ebp + 0x108], 0
jne 0x1006a309
mov byte [esp + 0x27], 1
mov byte [esp + 0x17], 1
jmp 0x1006a5c7
cmp byte [ebp + 0x108], 0
jne 0x1006a2f1
cmp byte [esp + 0x11], 0
je 0x1006a5c7
mov dword [esp + 0x20], 0xa
jmp 0x1006a365
test dword [esp + 0x15c], 0x400
je 0x1006a3a1
push 1
push 0
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a3a1
cmp byte [ebp + 0x108], 0
jne 0x1006a3a1
cmp byte [ebp + 0x109], 0
jne 0x1006a3a1
cmp byte [ebp + 0x10a], 0
jne 0x1006a3a1
cmp byte [esp + 0x11], 0
je 0x1006a3a1
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.100595b0
add esp, 8
test al, al
je 0x1006a5c7
mov edx, dword [esp + 0x20]
push edx
mov ecx, esi
call fcn.10069490
jmp 0x1006a5c7
push 1
push 0xe
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a3c0
mov byte [esp + 0x2f], 1
mov byte [esp + 0x27], 1
jmp 0x1006a5c7
test bl, bl
jne 0x1006a5ac
cmp byte [esp + 0x26], bl
jne 0x1006a5ac
cmp byte [esp + 0x12], bl
je 0x1006a404
push 1
push 0xf
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a404
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 0x1006a5c4
cmp byte [esp + 0x1f], 0
jne 0x1006a501
cmp byte [esp + 0x16], 0
jne 0x1006a501
cmp byte [esp + 0x14], 0
je 0x1006a5c7
call fcn.100405f0
mov edi, eax
test edi, edi
je 0x1006a5c7
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1006a437
sub eax, edx
lea eax, [eax + eax + 2]
push eax
call fcn.10040590
add esp, 4
xor ebp, ebp
cmp byte [edi], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edi
je 0x1006a4c9
mov edi, edi
mov edi, dword [esp + 0x18]
push 0
lea ecx, [esp + 0x24]
push edi
push ecx
call fcn.1003f1c0
add edi, eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
mov dword [esp + 0x18], edi
je 0x1006a4c9
cmp eax, 0x10000
jae 0x1006a4c0
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.100595b0
add esp, 8
test al, al
je 0x1006a4c0
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 0x1006a460
test ebp, ebp
mov edi, dword [esp + 0x28]
mov word [edi + ebp*2], 0
jle 0x1006a4ef
lea ecx, [esi + 0x38]
push ecx
push esi
mov eax, ebp
mov ecx, edi
call fcn.10063750
add esp, 8
mov byte [esi + 0xe60], 1
push edi
call fcn.100405c0
mov ebp, dword [esp + 0x34]
add esp, 4
jmp 0x1006a5c7
cmp dword [ebp + 0xdc], 0
je 0x1006a576
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0x40]
cmp eax, edi
je 0x1006a522
jge 0x1006a51c
mov dword [esp + 0x18], eax
jmp 0x1006a52a
mov dword [esp + 0x18], edi
jmp 0x1006a52a
mov dword [esp + 0x18], 0
cmp eax, edi
je 0x1006a534
jl 0x1006a537
mov edi, eax
jmp 0x1006a537
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.10049c90
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.1003f560
mov eax, dword [esi + 0x24]
push eax
call fcn.10040620
add esp, 0x14
cmp byte [esp + 0x1f], 0
je 0x1006a5c7
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [esi + 0x40]
jne 0x1006a599
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.10063430
jmp 0x1006a5c7
neg bl
mov ecx, esi
sbb ebx, ebx
add ebx, 0x1000b
push ebx
call fcn.10069490
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 0x1006a9ed
xor ebx, ebx
cmp byte [esp + 0x2f], bl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
je 0x1006a64f
cmp byte [esp + 0x11], bl
je 0x1006a637
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 0x1006a620
test dl, dl
je 0x1006a61c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1006a620
add eax, 2
add ecx, 2
test dl, dl
jne 0x1006a600
xor eax, eax
jmp 0x1006a625
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x1006a637
mov eax, dword [esi + 0x10]
sub eax, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], eax
cmp byte [esp + 0x17], bl
je 0x1006a8e4
test byte [esp + 0x15c], 0x20
je 0x1006a8e4
cmp byte [esp + 0x11], bl
je 0x1006a67e
mov edx, dword [esi + 4]
lea eax, [edx*4 + 1]
lea edi, [esi + 0x1c]
push eax
mov ecx, edi
call fcn.10049c90
mov ecx, dword [esi + 0xc]
mov edx, dword [edi]
mov eax, dword [esi + 0x24]
push ebx
push ecx
push edx
push eax
call fcn.1003f560
add esp, 0x10
test dword [esp + 0x15c], 0x1c0
je 0x1006a898
test byte [esp + 0x15c], 0x40
mov ebx, 0x15
je 0x1006a6b7
push 1
push 0
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a6b7
mov edi, 0x40
xor ebx, ebx
jmp 0x1006a714
mov edi, dword [esp + 0x15c]
and edi, 0x80
je 0x1006a6e2
push 1
push 3
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a6e2
mov edi, 0x80
mov ebx, 3
jmp 0x1006a714
test edi, edi
je 0x1006a702
push 1
push 4
call fcn.100453c0
add esp, 8
test al, al
je 0x1006a702
mov edi, 0x80
mov ebx, 4
jmp 0x1006a714
mov edi, 0x100
test dword [esp + 0x15c], edi
je 0x1006a898
push 0x30
lea ecx, [esp + 0xcc]
push 0
push ecx
call fcn.10119b30
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.1003f5d0
mov dword [esp + 0x100], eax
mov ebx, eax
mov eax, dword [esi + 0x3c]
lea ecx, [edi + eax*2]
push ecx
push edi
call fcn.1003f5d0
mov edx, dword [esi + 0x40]
mov dword [esp + 0x10c], eax
mov ebp, eax
lea eax, [edi + edx*2]
push eax
push edi
call fcn.1003f5d0
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 0x1006a7f4
mov ecx, dword [esp + 0xdc]
add eax, ecx
push eax
push ecx
call fcn.1003f3f0
add esp, 8
mov dword [esi + 0x38], eax
mov byte [esi + 0xe60], 1
mov ecx, dword [esp + 0xf0]
cmp ecx, ebp
je 0x1006a815
mov eax, dword [esp + 0xdc]
add ecx, eax
push ecx
push eax
call fcn.1003f3f0
add esp, 8
mov dword [esi + 0x3c], eax
mov ecx, dword [esp + 0xf4]
cmp ecx, edi
je 0x1006a836
mov eax, dword [esp + 0xdc]
add ecx, eax
push ecx
push eax
call fcn.1003f3f0
add esp, 8
mov dword [esi + 0x40], eax
cmp byte [esp + 0xe8], 0
je 0x1006a898
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x48]
cmp eax, edx
jle 0x1006a863
cmp byte [esp + 0x56], 0
je 0x1006a863
lea ecx, [esi + 4]
sub eax, edx
add eax, dword [ecx]
push eax
call fcn.10049b70
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.1003f370
fld dword [0x101a8860]
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 0x1006a8e4
mov edi, dword [esi + 0x24]
mov ecx, dword [esp + 0x150]
mov eax, edi
jmp 0x1006a8b0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1006a8d0
test dl, dl
je 0x1006a8cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1006a8d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1006a8b0
xor eax, eax
jmp 0x1006a8d5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1006a8e4
mov eax, dword [esi + 0x28]
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], eax
xor eax, eax
cmp dword [esp + 0x20], eax
je 0x1006a9d3
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x48], edi
je 0x1006a9a7
cmp byte [esp + 0x56], al
je 0x1006a9a7
lea ecx, [esp + 0xc8]
call fcn.10059530
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 0x1006a95e
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 0x1006a9ae
mov edi, eax
jmp 0x1006a9ae
mov ecx, dword [esp + 0x154]
lea eax, [edi + 1]
cmp eax, ecx
jl 0x1006a9b7
mov eax, ecx
mov ecx, dword [esp + 0x150]
push eax
mov eax, dword [esi + 0x24]
push eax
push ecx
call fcn.1003ee10
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 0x1006aa01
cmp dword [ebp + 0x19b4], ebx
jne 0x1006aa15
call fcn.100403e0
cmp dword [ebp + 0x19b4], ebx
jne 0x1006aa15
cmp byte [esp + 0x11], 0
je 0x1006aa15
mov edi, dword [esi + 0x24]
jmp 0x1006aa1c
mov edi, dword [esp + 0x150]
cmp byte [esp + 0x10], 0
mov dword [esp + 0x20], edi
jne 0x1006aa7e
push 1
lea edx, [esp + 0x90]
push ebx
push edx
call fcn.1003fff0
fld dword [ebp + 0x154c]
add esp, 8
fstp dword [esp]
push 1
fld1
push ecx
fstp dword [esp]
push 7
call fcn.1003f9d0
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.1003fba0
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 0x1006aad1
mov eax, dword [esp + 0x4c]
fstp st(0)
fstp st(0)
add eax, 0xc8
jmp 0x1006aaed
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 0x1006ab2e
test cl, cl
je 0x1006ab2e
mov ecx, dword [esp + 0x4c]
push 0
push 0x101a88b0
call fcn.10045e20
cmp dword [ebp + 0x19b4], eax
jne 0x1006ab2e
mov al, 1
jmp 0x1006ab30
xor al, al
cmp dword [ebp + 0x19b4], ebx
je 0x1006ac18
test al, al
jne 0x1006ac18
cmp byte [esp + 0x10], al
mov dword [esp + 0x28], 0
je 0x1006ab90
fld dword [esp + 0xa4]
lea esi, [esp + 0x28]
mov ecx, edi
fstp dword [esp + 0x60]
call fcn.100590b0
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 0x1006abb6
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1006ab95
sub eax, edx
add eax, edi
mov ecx, eax
sub ecx, edi
cmp ecx, 0x200000
jge 0x1006b4fb
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.1003f9d0
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.10081200
mov ebp, dword [esp + 0x30]
jmp 0x1006b4b3
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 0x1006ac89
jl 0x1006ac75
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 0x1006ace9
movzx edx, dx
cmp dx, 0xa
jne 0x1006acd9
add ecx, 1
cmp dword [esp + 0x58], 0xffffffff
jne 0x1006acc5
cmp ebx, dword [esp + 0x6c]
jb 0x1006acc5
sub eax, 1
test eax, eax
mov dword [esp + 0x58], ecx
jle 0x1006ace5
cmp edi, 0xffffffff
jne 0x1006acd9
cmp ebx, dword [esp + 0x70]
jb 0x1006acd9
sub eax, 1
test eax, eax
mov edi, ecx
jle 0x1006ace5
movzx edx, word [ebx + 2]
add ebx, 2
test dx, dx
jne 0x1006aca4
mov dword [esp + 0x5c], edi
add ecx, 1
cmp dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x34], ecx
jne 0x1006acfb
mov dword [esp + 0x58], ecx
cmp edi, 0xffffffff
jne 0x1006ad04
mov dword [esp + 0x5c], ecx
mov edi, dword [esp + 0x6c]
push 0
push 0
push ebp
push edi
call fcn.1003eeb0
add esp, 8
xor bl, bl
lea ecx, [esp + 0xc8]
call fcn.1005dcc0
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 0x1006ad8b
mov edi, dword [esp + 0x70]
push 0
push 0
push ebp
push edi
call fcn.1003eeb0
add esp, 8
lea ecx, [esp + 0xc8]
call fcn.1005dcc0
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 0x1006adc0
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 0x1006af07
test dword [esp + 0x15c], 0x1000
jne 0x1006ae62
fld st(2)
fmul qword [0x101a7e00]
fstp dword [esp + 0x28]
fld dword [esi + 0x34]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1006ae3a
fstp st(2)
fld dword [esp + 0x28]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fcom qword [0x101a39b8]
fnstsw ax
test ah, 0x41
jp 0x1006ae20
fstp st(0)
fldz
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
call fcn.10119820
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fstp dword [esi + 0x34]
jmp 0x1006ae6f
fsubrp st(2)
fld dword [esi + 0x34]
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x1006ae6d
fld dword [esp + 0x28]
faddp st(2)
fxch st(1)
call fcn.10119820
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fstp dword [esi + 0x34]
jmp 0x1006ae6f
fstp st(2)
fstp st(1)
fldz
fstp dword [esi + 0x34]
jmp 0x1006ae6f
fstp st(1)
test bl, bl
je 0x1006af0b
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 0x1006aebe
fstp st(0)
fstp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fcom qword [0x101a39b8]
fnstsw ax
test ah, 0x41
jp 0x1006aeb8
fstp st(0)
fldz
fstp dword [esp + 0x18]
jmp 0x1006aeda
fstp st(1)
fld dword [esp + 0xa8]
fsubp st(2)
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1006aed8
fstp dword [esp + 0x18]
jmp 0x1006aeda
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 0x1006af0d
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 0x1006b279
mov edx, eax
jl 0x1006af2f
mov edx, ecx
cmp eax, ecx
lea ebx, [ebp + edx*2]
jge 0x1006af39
mov eax, ecx
cmp byte [esp + 0x10], 0
lea edi, [ebp + eax*2]
je 0x1006af4f
fldz
fst dword [esp + 0xac]
jmp 0x1006af62
fld dword [0x101a3f34]
fstp dword [esp + 0xac]
fld dword [0x101a51c0]
fstp dword [esp + 0x48]
push ecx
fld1
fstp dword [esp]
push 0x2a
call fcn.1003f9d0
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 [0x101a39b8]
fstp dword [esp + 0x70]
jae 0x1006b27d
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 0x1006b275
fld dword [esp + 0xb4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1006b040
cmp ecx, edi
jae 0x1006b01e
mov ax, word [ecx]
add ecx, 2
cmp ax, 0xa
je 0x1006b01a
cmp ecx, edi
jb 0x1006b00a
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 0x1006afd0
jmp 0x1006b27d
lea edx, [esp + 0x18]
fstp st(0)
push 0
mov eax, ecx
push edx
mov bl, 1
lea ecx, [esp + 0xa4]
call fcn.1005dcc0
fldz
fcomp dword [esp + 0xa4]
add esp, 8
fnstsw ax
test bl, ah
jne 0x1006b0a7
mov eax, dword [ebp + 0x18b0]
cmp dword [eax + 0x1c], 0x20
jle 0x1006b082
mov eax, dword [eax + 0x24]
fld dword [eax + 0x80]
jmp 0x1006b085
fld dword [eax + 0x38]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fmul qword [0x101a5110]
call fcn.10119820
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 [0x101a39b8]
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 0x1006b11e
fxch st(1)
fstp dword [esp + 0x34]
jmp 0x1006b124
fstp st(1)
fst dword [esp + 0x34]
fld dword [esp + 0x110]
fld dword [esp + 0xb0]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x1006b13f
fstp st(0)
jmp 0x1006b141
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 0x1006b196
fxch st(1)
fstp dword [esp + 0x28]
jmp 0x1006b19c
fstp st(1)
fst dword [esp + 0x28]
fld dword [esp + 0x118]
fld dword [esp + 0xb8]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x1006b1bc
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 0x1006b257
fcompp
fnstsw ax
test ah, 0x41
jne 0x1006b268
fld dword [esp + 0xb0]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1006b26a
fld dword [esp + 0xb8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x1006b26c
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.10080e80
fld dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
jmp 0x1006b01e
mov ecx, dword [esp + 0x18]
fstp st(3)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x1006b01e
fstp st(1)
fstp st(0)
mov ecx, dword [esp + 0x18]
jmp 0x1006b01e
fstp st(0)
jmp 0x1006b27d
mov ebp, dword [esp + 0x30]
mov al, byte [esp + 0x10]
test al, al
mov esi, dword [esi + 0x28]
jne 0x1006b290
cmp esi, 0x200000
jge 0x1006b304
fld dword [esp + 0x84]
neg al
fsub dword [esp + 0x60]
lea ecx, [esp + 0xb0]
fstp dword [esp + 0x3c]
fld dword [esp + 0x88]
fsub qword [0x101a39b8]
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.1003f9d0
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.10081200
cmp byte [ebp + 0xbe], 0
je 0x1006b346
fldz
fcomp dword [ebp + 0x2b68]
fnstsw ax
test ah, 1
je 0x1006b346
fld dword [ebp + 0x2b68]
fld qword [0x101a8988]
call fcn.1011c36a
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fcomp qword [0x101a7d10]
fnstsw ax
test ah, 0x41
jnp 0x1006b346
xor al, al
jmp 0x1006b348
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 [0x101a39b8]
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 [0x101a5110]
fstp dword [esp + 0x104]
fld st(1)
fadd qword [0x101a6130]
fstp dword [esp + 0x108]
fld qword [0x101a8b00]
fsubr st(1)
fstp dword [esp + 0x10c]
je 0x1006b47c
fld dword [esp + 0xb4]
fld dword [esp + 0x10c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1006b47a
fld dword [esp + 0xbc]
fld dword [esp + 0x104]
fcompp
fnstsw ax
test ah, 5
jp 0x1006b47a
fld dword [esp + 0xb0]
fld dword [esp + 0x108]
fcompp
fnstsw ax
test ah, 0x41
jne 0x1006b47a
fld dword [esp + 0xb8]
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x1006b47a
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.1003f9d0
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.10080c90
fld dword [esp + 0x7c]
fld dword [esp + 0x80]
jmp 0x1006b47c
fstp st(0)
cmp byte [esp + 0x11], 0
je 0x1006b4af
fxch st(1)
fsub qword [0x101a6130]
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 0x1006b4b3
fstp st(1)
fstp st(0)
cmp byte [esp + 0x10], 0
je 0x1006b4fb
fld dword [ebp + 0x18b4]
lea ecx, [esp + 0x3c]
fstp dword [esp + 0xc4]
push ecx
fld dword [esp + 0x78]
fadd qword [0x101a39b8]
fstp dword [esp + 0x40]
fld dword [esp + 0xc8]
fadd dword [esp + 0x7c]
fstp dword [esp + 0x44]
call fcn.100587d0
add esp, 4
call fcn.10053d10
call fcn.1004cba0
mov bl, byte [esp + 0x47]
test bl, bl
je 0x1006b508
call fcn.100478c0
mov esi, dword [esp + 0x30]
cmp byte [esi + 0x2c4c], 0
je 0x1006b530
test bl, bl
jne 0x1006b530
mov edx, dword [esp + 0x20]
push 0
push edx
lea eax, [esp + 0x8c]
push eax
call fcn.1004dfb0
add esp, 0xc
fldz
fcomp dword [esp + 0xf8]
fnstsw ax
test ah, 5
jp 0x1006b580
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.1004edc0
add esp, 0x14
mov bl, byte [esp + 0x57]
test bl, bl
je 0x1006b595
mov ecx, dword [esp + 0x50]
push ecx
call fcn.10040480
add esp, 4
test byte [esp + 0x15c], 0x20
mov al, byte [esp + 0x17]
jne 0x1006b5a5
mov al, bl
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret