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

Disassembly:
sub esp, 0x138
mov eax, dword [0x101eab30]
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 0x10069cb3
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 [0x101eab30]
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 0x10069d0c
call fcn.1004d210
push esi
mov esi, dword [esp + 0x14c]
push 0
push esi
mov ecx, edi
call fcn.10046570
fld dword [0x101a3f3c]
push ecx
fstp dword [esp]
push 1
push 0
lea edx, [esp + 0x104]
push esi
push edx
mov dword [esp + 0x64], eax
call fcn.10041050
add esp, 0x14
cmp byte [esp + 0x10], 0
je 0x10069d55
call fcn.10042760
fmul qword [0x101a7fc8]
jmp 0x10069d5c
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.10052aa0
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.1004f830
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 0x10069e0b
fld dword [ebp + 0x155c]
faddp st(2)
jmp 0x10069e11
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 0x10069eff
mov esi, dword [esp + 0x50]
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x12c]
push esi
push ecx
call fcn.1004c0c0
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.10054450
add esp, 0x18
test al, al
jne 0x10069ec7
call fcn.100544d0
call fcn.1004d360
pop esi
pop ebp
pop ebx
xor al, al
pop edi
add esp, 0x138
ret
mov eax, dword [0x101eab30]
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 0x10069f37
fld dword [ebp + 0x1548]
push ecx
lea eax, [esp + 0x12c]
fstp dword [esp]
push eax
call fcn.10046880
mov esi, dword [esp + 0x58]
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x134]
push esi
push edx
call fcn.1004c0c0
add esp, 0x14
test al, al
je 0x10069eba
lea eax, [esp + 0x8c]
push esi
push eax
call fcn.10046950
add esp, 8
test al, al
mov byte [esp + 0x16], al
je 0x10069f5a
mov dword [ebp + 0x1c50], 1
test bl, bl
je 0x10069fcf
mov ecx, dword [ebp + 0x18b0]
push 0x2a
call fcn.1007a610
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.1004cc00
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.10046a10
add esp, 0xc
test al, al
mov byte [esp + 0x17], al
je 0x1006a00c
mov ecx, dword [edi + 0x328]
cmp ecx, dword [edi + 0x330]
jne 0x1006a00c
mov al, 1
jmp 0x1006a00e
xor al, al
cmp byte [esp + 0x17], 0
mov byte [esp + 0x1f], al
je 0x1006a022
test al, al
mov byte [esp + 0x14], 1
je 0x1006a027
mov byte [esp + 0x14], 0
cmp byte [esp + 0x16], 0
je 0x1006a03c
cmp byte [ebp + 0x3e0], 0
mov byte [esp + 0x15], 1
jne 0x1006a041
mov byte [esp + 0x15], 0
cmp byte [esp + 0x10], 0
je 0x1006a071
cmp dword [ebp + 0x19b4], 0
jne 0x1006a071
cmp dword [esi], ebx
jne 0x1006a071
mov ecx, dword [esp + 0x4c]
push 0
push 0x101a8a50
call fcn.100465e0
cmp dword [ebp + 0x19b8], eax
jne 0x1006a071
mov cl, 1
jmp 0x1006a073
xor cl, cl
mov eax, dword [ebp + 0x19b4]
cmp eax, ebx
je 0x1006a09d
cmp dword [ebp + 0x1ab4], ebx
je 0x1006a096
cmp dword [ebp + 0x1aa8], ebx
jne 0x1006a09d
cmp dword [ebp + 0x1ac4], 3
jne 0x1006a09d
mov byte [esp + 0x12], 1
jmp 0x1006a0a2
mov byte [esp + 0x12], 0
cmp eax, ebx
mov byte [esp + 0x27], 0
je 0x1006a0c8
test byte [esp + 0x15c], 0x10
jne 0x1006a0bc
cmp byte [esp + 0x12], 0
je 0x1006a0c8
cmp byte [esp + 0x10], 0
mov byte [esp + 0x13], 1
je 0x1006a0cd
mov byte [esp + 0x13], 0
cmp byte [esp + 0x17], 0
mov ebx, dword [esp + 0x154]
jne 0x1006a102
cmp byte [esp + 0x15], 0
jne 0x1006a102
test cl, cl
jne 0x1006a102
cmp byte [esp + 0x12], cl
jne 0x1006a102
cmp byte [ebp + 0x3e0], cl
je 0x1006a244
mov byte [esp + 0x27], 1
jmp 0x1006a244
cmp eax, dword [esp + 0x50]
je 0x1006a206
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 0x1006a120
sub eax, edx
mov edi, eax
lea eax, [ebx + 1]
push eax
lea ecx, [esi + 4]
call fcn.1004a330
add edi, 1
push edi
lea ecx, [esi + 0x10]
call fcn.1004a450
mov ecx, dword [esi + 0x18]
push edi
mov edi, dword [esp + 0x154]
push edi
push ecx
call fcn.1011a770
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.1003fb30
fld dword [0x101a8a00]
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 0x1006a1a3
cmp dword [esp + 0x34], eax
jne 0x1006a1a3
mov ecx, esi
call fcn.1005b360
jmp 0x1006a1d2
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.10059ce0
add esp, 4
cmp byte [esp + 0x10], 0
jne 0x1006a1d2
cmp byte [esp + 0x1f], 0
je 0x1006a1d2
mov byte [esp + 0x13], 1
test dword [esp + 0x15c], 0x2000
je 0x1006a1e3
mov byte [esi + 0x44], 1
cmp byte [esp + 0x10], 0
jne 0x1006a206
cmp byte [esp + 0x14], 0
jne 0x1006a201
cmp byte [esp + 0x15], 0
je 0x1006a206
cmp byte [ebp + 0x108], 0
je 0x1006a206
mov byte [esp + 0x13], 1
mov edi, dword [esp + 0xac]
mov eax, dword [esp + 0x50]
push edi
push eax
call fcn.10040a30
mov ecx, dword [esp + 0x58]
push edi
push ecx
call fcn.10040ad0
push edi
call fcn.10047f10
add esp, 0x14
cmp byte [esp + 0x10], 0
jne 0x1006a244
test byte [esp + 0x15c], 0x80
jne 0x1006a244
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 0x1006a54a
cmp byte [esp + 0x11], 0
jne 0x1006a2c2
cmp byte [ebp + 0x19c4], 0
jne 0x1006a2c2
lea eax, [ebx + 1]
lea edi, [esi + 4]
push eax
mov ecx, edi
call fcn.1004a330
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.1003fb30
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.1005b360
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 0x1006a346
fld dword [ebp + 0xf4]
mov edx, dword [esp + 0x4c]
fsub dword [edx + 0xcc]
fsub dword [ebp + 0x1548]
jmp 0x1006a352
fld dword [ebp + 0x18b4]
fmul qword [0x101a5230]
cmp byte [esp + 0x13], 0
fstp dword [esp + 0x20]
mov cl, byte [ebp + 0xbd]
mov byte [esp + 0x2f], cl
jne 0x1006a459
mov al, byte [esp + 0x16]
test al, al
je 0x1006a383
test cl, cl
jne 0x1006a3cd
cmp byte [ebp + 0x3e5], cl
jne 0x1006a459
cmp byte [ebp + 0x3e0], 0
je 0x1006a3f3
cmp byte [esi + 0xe61], 0
jne 0x1006a3f3
test al, al
je 0x1006a474
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.1005e880
fld dword [0x101a8a00]
add esp, 8
fstp dword [esi + 0xe5c]
jmp 0x1006a474
cmp byte [ebp + 0x3e5], 0
je 0x1006a383
push 0x1000c
mov ecx, esi
call fcn.10069c50
push 0x3000d
mov ecx, esi
call fcn.10069c50
jmp 0x1006a474
cmp byte [ebp + 0xf8], 0
je 0x1006a474
cmp byte [esi + 0xe61], 0
jne 0x1006a47d
fldz
fcom dword [ebp + 0x380]
fnstsw ax
test ah, 0x44
jp 0x1006a423
fcomp dword [ebp + 0x384]
fnstsw ax
test ah, 0x44
jnp 0x1006a474
jmp 0x1006a425
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.1005e8d0
fld dword [0x101a8a00]
add esp, 8
fstp dword [esi + 0xe5c]
mov byte [esi + 0xe60], 1
jmp 0x1006a474
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 0x1006a48d
cmp byte [ebp + 0xf8], 0
jne 0x1006a48d
mov byte [esi + 0xe61], 0
mov eax, dword [ebp + 0x1500]
test eax, eax
jle 0x1006a54a
cmp byte [ebp + 0x108], 0
je 0x1006a4b1
cmp byte [ebp + 0x10a], 0
je 0x1006a535
cmp byte [esp + 0x2f], 0
je 0x1006a4c1
cmp byte [ebp + 0x10b], 0
jne 0x1006a535
cmp byte [esp + 0x11], 0
je 0x1006a535
cmp byte [esp + 0x12], 0
jne 0x1006a535
xor ebp, ebp
test eax, eax
jle 0x1006a535
jmp 0x1006a4e0
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.10059d70
add esp, 8
test al, al
je 0x1006a525
mov edx, dword [esp + 0x20]
push edx
mov ecx, esi
call fcn.10069c50
mov eax, dword [esp + 0x30]
add ebp, 1
add eax, 0x1500
cmp ebp, dword [eax]
jl 0x1006a4e0
mov ecx, dword [esp + 0x30]
push 0
add ecx, 0x1500
call fcn.1004a330
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x50]
cmp dword [ebp + 0x19b4], eax
mov byte [esp + 0x2f], 0
jne 0x1006ad87
cmp byte [ebp + 0x19c4], 0
jne 0x1006ad87
cmp byte [esp + 0x27], 0
jne 0x1006ad87
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 0x1006a5ad
cmp byte [ebp + 0x10b], 0
je 0x1006a5d1
cmp byte [ebp + 0x108], 0
je 0x1006a5bf
jmp 0x1006a5d1
cmp byte [ebp + 0x108], 0
je 0x1006a5d1
cmp byte [ebp + 0x10b], 0
jne 0x1006a5d1
cmp byte [ebp + 0x10a], 0
jne 0x1006a5d1
test cl, cl
mov byte [esp + 0x12], 1
je 0x1006a5d6
mov byte [esp + 0x12], 0
test al, al
je 0x1006a5fe
cmp byte [ebp + 0x10b], 0
je 0x1006a5fe
test cl, cl
je 0x1006a5fe
cmp byte [ebp + 0x108], 0
jne 0x1006a5fe
cmp byte [ebp + 0x10a], 0
mov byte [esp + 0x55], 1
je 0x1006a603
mov byte [esp + 0x55], 0
test al, al
je 0x1006a675
cmp byte [ebp + 0x10b], 0
mov al, byte [ebp + 0x10a]
mov byte [esp + 0x15], al
je 0x1006a62c
cmp byte [ebp + 0x108], 0
jne 0x1006a62c
test al, al
mov byte [esp + 0x13], 1
je 0x1006a631
mov byte [esp + 0x13], 0
mov al, byte [ebp + 0x108]
test al, al
je 0x1006a654
test cl, cl
jne 0x1006a654
cmp byte [ebp + 0x10a], cl
jne 0x1006a654
cmp byte [ebp + 0x10b], cl
mov byte [esp + 0x16], 1
je 0x1006a659
mov byte [esp + 0x16], 0
test cl, cl
je 0x1006a681
test al, al
jne 0x1006a681
cmp byte [ebp + 0x10a], al
jne 0x1006a681
cmp byte [ebp + 0x10b], al
jne 0x1006a681
mov bl, 1
jmp 0x1006a683
mov al, byte [ebp + 0x108]
mov byte [esp + 0x15], al
jmp 0x1006a62c
xor bl, bl
cmp byte [esp + 0x12], 0
mov byte [esp + 0x14], bl
je 0x1006a69e
push 1
push 0x12
call fcn.10045b80
add esp, 8
test al, al
jne 0x1006a6b2
test bl, bl
je 0x1006a6d7
push 1
push 0xa
call fcn.10045b80
add esp, 8
test al, al
je 0x1006a6d7
mov bl, byte [esp + 0x11]
test bl, bl
je 0x1006a6db
cmp byte [esp + 0x47], 0
jne 0x1006a6db
cmp byte [esp + 0x10], 0
je 0x1006a6d0
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [esi + 0x40]
je 0x1006a6db
mov byte [esp + 0x1f], 1
jmp 0x1006a6e0
mov bl, byte [esp + 0x11]
mov byte [esp + 0x1f], 0
cmp byte [esp + 0x12], 0
je 0x1006a6f7
push 1
push 0x10
call fcn.10045b80
add esp, 8
test al, al
jne 0x1006a70e
cmp byte [esp + 0x16], 0
je 0x1006a72b
push 1
push 9
call fcn.10045b80
add esp, 8
test al, al
je 0x1006a72b
cmp byte [esp + 0x47], 0
jne 0x1006a72b
cmp byte [esp + 0x10], 0
je 0x1006a724
mov edx, dword [esi + 0x3c]
cmp edx, dword [esi + 0x40]
je 0x1006a72b
mov byte [esp + 0x16], 1
jmp 0x1006a730
mov byte [esp + 0x16], 0
cmp byte [esp + 0x12], 0
je 0x1006a747
push 1
push 0x11
call fcn.10045b80
add esp, 8
test al, al
jne 0x1006a75e
cmp byte [esp + 0x14], 0
je 0x1006a767
push 1
push 9
call fcn.10045b80
add esp, 8
test al, al
je 0x1006a767
test bl, bl
mov byte [esp + 0x14], 1
jne 0x1006a76c
mov byte [esp + 0x14], 0
cmp byte [esp + 0x12], 0
je 0x1006a792
push 1
push 0x14
call fcn.10045b80
add esp, 8
test al, al
je 0x1006a792
test bl, bl
je 0x1006a792
cmp byte [esp + 0x26], 0
je 0x1006a792
mov bl, 1
jmp 0x1006a794
xor bl, bl
cmp byte [esp + 0x12], 0
je 0x1006a7ab
push 1
push 0x13
call fcn.10045b80
add esp, 8
test al, al
jne 0x1006a7c2
cmp byte [esp + 0x55], 0
je 0x1006a7d5
push 1
push 0x14
call fcn.10045b80
add esp, 8
test al, al
je 0x1006a7d5
cmp byte [esp + 0x11], 0
je 0x1006a7d5
cmp byte [esp + 0x26], 0
mov byte [esp + 0x26], 1
jne 0x1006a7da
mov byte [esp + 0x26], 0
push 1
push 1
call fcn.10045b80
add esp, 8
test al, al
je 0x1006a824
cmp byte [esp + 0x13], 0
je 0x1006a805
mov eax, 0x10004
or eax, edi
push eax
mov ecx, esi
call fcn.10069c50
jmp 0x1006ad87
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.10069c50
jmp 0x1006ad87
push 1
push 2
call fcn.10045b80
add esp, 8
test al, al
je 0x1006a86e
cmp byte [esp + 0x13], 0
je 0x1006a84f
mov eax, 0x10005
or eax, edi
push eax
mov ecx, esi
call fcn.10069c50
jmp 0x1006ad87
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.10069c50
jmp 0x1006ad87
push 1
push 3
call fcn.10045b80
add esp, 8
test al, al
je 0x1006a8e7
cmp byte [esp + 0x10], 0
je 0x1006a8e7
cmp byte [ebp + 0x108], 0
je 0x1006a8c8
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.1005a8b0
add esp, 4
fstp dword [esp]
push ecx
call fcn.100422d0
add esp, 8
jmp 0x1006ad87
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.10069c50
jmp 0x1006ad87
push 1
push 4
call fcn.10045b80
add esp, 8
test al, al
je 0x1006a963
cmp byte [esp + 0x10], 0
je 0x1006a963
cmp byte [ebp + 0x108], 0
je 0x1006a944
call fcn.10048470
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.1005a880
add esp, 4
fstp dword [esp]
push ecx
call fcn.100422d0
add esp, 8
jmp 0x1006ad87
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.10069c50
jmp 0x1006ad87
push 1
push 7
call fcn.10045b80
add esp, 8
test al, al
je 0x1006a9a6
cmp byte [ebp + 0x108], 0
je 0x1006a991
or edi, 0x10006
mov eax, edi
push eax
mov ecx, esi
call fcn.10069c50
jmp 0x1006ad87
or edi, 0x10004
mov eax, edi
push eax
mov ecx, esi
call fcn.10069c50
jmp 0x1006ad87
push 1
push 8
call fcn.10045b80
add esp, 8
test al, al
je 0x1006a9e9
cmp byte [ebp + 0x108], 0
je 0x1006a9d4
or edi, 0x10007
mov eax, edi
push eax
mov ecx, esi
call fcn.10069c50
jmp 0x1006ad87
or edi, 0x10005
mov eax, edi
push eax
mov ecx, esi
call fcn.10069c50
jmp 0x1006ad87
push 1
push 0xa
call fcn.10045b80
add esp, 8
test al, al
je 0x1006aa13
cmp byte [esp + 0x11], 0
je 0x1006aa13
or edi, 0x10008
push edi
mov ecx, esi
call fcn.10069c50
jmp 0x1006ad87
push 1
push 0xb
call fcn.10045b80
add esp, 8
test al, al
je 0x1006aa81
cmp byte [esp + 0x11], 0
je 0x1006aa81
mov edx, dword [esi + 0x3c]
cmp edx, dword [esi + 0x40]
jne 0x1006aa6e
cmp byte [esp + 0x15], 0
je 0x1006aa40
push 0x3000c
jmp 0x1006aa67
cmp byte [esp + 0x6b], 0
je 0x1006aa6e
cmp byte [ebp + 0x10b], 0
je 0x1006aa6e
cmp byte [ebp + 0x10a], 0
jne 0x1006aa6e
cmp byte [ebp + 0x108], 0
jne 0x1006aa6e
push 0x30004
mov ecx, esi
call fcn.10069c50
or edi, 0x10009
push edi
mov ecx, esi
call fcn.10069c50
jmp 0x1006ad87
push 1
push 0xd
call fcn.10045b80
add esp, 8
test al, al
je 0x1006aade
mov eax, dword [esp + 0x15c]
shr eax, 0xb
and al, 1
cmp byte [esp + 0x10], 0
je 0x1006aab1
test al, al
je 0x1006aac0
cmp byte [ebp + 0x108], 0
jne 0x1006aac9
mov byte [esp + 0x27], 1
mov byte [esp + 0x17], 1
jmp 0x1006ad87
cmp byte [ebp + 0x108], 0
jne 0x1006aab1
cmp byte [esp + 0x11], 0
je 0x1006ad87
mov dword [esp + 0x20], 0xa
jmp 0x1006ab25
test dword [esp + 0x15c], 0x400
je 0x1006ab61
push 1
push 0
call fcn.10045b80
add esp, 8
test al, al
je 0x1006ab61
cmp byte [ebp + 0x108], 0
jne 0x1006ab61
cmp byte [ebp + 0x109], 0
jne 0x1006ab61
cmp byte [ebp + 0x10a], 0
jne 0x1006ab61
cmp byte [esp + 0x11], 0
je 0x1006ab61
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.10059d70
add esp, 8
test al, al
je 0x1006ad87
mov edx, dword [esp + 0x20]
push edx
mov ecx, esi
call fcn.10069c50
jmp 0x1006ad87
push 1
push 0xe
call fcn.10045b80
add esp, 8
test al, al
je 0x1006ab80
mov byte [esp + 0x2f], 1
mov byte [esp + 0x27], 1
jmp 0x1006ad87
test bl, bl
jne 0x1006ad6c
cmp byte [esp + 0x26], bl
jne 0x1006ad6c
cmp byte [esp + 0x12], bl
je 0x1006abc4
push 1
push 0xf
call fcn.10045b80
add esp, 8
test al, al
je 0x1006abc4
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 0x1006ad84
cmp byte [esp + 0x1f], 0
jne 0x1006acc1
cmp byte [esp + 0x16], 0
jne 0x1006acc1
cmp byte [esp + 0x14], 0
je 0x1006ad87
call fcn.10040db0
mov edi, eax
test edi, edi
je 0x1006ad87
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1006abf7
sub eax, edx
lea eax, [eax + eax + 2]
push eax
call fcn.10040d50
add esp, 4
xor ebp, ebp
cmp byte [edi], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edi
je 0x1006ac89
mov edi, edi
mov edi, dword [esp + 0x18]
push 0
lea ecx, [esp + 0x24]
push edi
push ecx
call fcn.1003f980
add edi, eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
mov dword [esp + 0x18], edi
je 0x1006ac89
cmp eax, 0x10000
jae 0x1006ac80
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.10059d70
add esp, 8
test al, al
je 0x1006ac80
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 0x1006ac20
test ebp, ebp
mov edi, dword [esp + 0x28]
mov word [edi + ebp*2], 0
jle 0x1006acaf
lea ecx, [esi + 0x38]
push ecx
push esi
mov eax, ebp
mov ecx, edi
call fcn.10063f10
add esp, 8
mov byte [esi + 0xe60], 1
push edi
call fcn.10040d80
mov ebp, dword [esp + 0x34]
add esp, 4
jmp 0x1006ad87
cmp dword [ebp + 0xdc], 0
je 0x1006ad36
mov eax, dword [esi + 0x3c]
mov edi, dword [esi + 0x40]
cmp eax, edi
je 0x1006ace2
jge 0x1006acdc
mov dword [esp + 0x18], eax
jmp 0x1006acea
mov dword [esp + 0x18], edi
jmp 0x1006acea
mov dword [esp + 0x18], 0
cmp eax, edi
je 0x1006acf4
jl 0x1006acf7
mov edi, eax
jmp 0x1006acf7
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.1004a450
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.1003fd20
mov eax, dword [esi + 0x24]
push eax
call fcn.10040de0
add esp, 0x14
cmp byte [esp + 0x1f], 0
je 0x1006ad87
mov ecx, dword [esi + 0x3c]
cmp ecx, dword [esi + 0x40]
jne 0x1006ad59
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.10063bf0
jmp 0x1006ad87
neg bl
mov ecx, esi
sbb ebx, ebx
add ebx, 0x1000b
push ebx
call fcn.10069c50
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 0x1006b1ad
xor ebx, ebx
cmp byte [esp + 0x2f], bl
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], ebx
je 0x1006ae0f
cmp byte [esp + 0x11], bl
je 0x1006adf7
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 0x1006ade0
test dl, dl
je 0x1006addc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1006ade0
add eax, 2
add ecx, 2
test dl, dl
jne 0x1006adc0
xor eax, eax
jmp 0x1006ade5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x1006adf7
mov eax, dword [esi + 0x10]
sub eax, 1
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], eax
cmp byte [esp + 0x17], bl
je 0x1006b0a4
test byte [esp + 0x15c], 0x20
je 0x1006b0a4
cmp byte [esp + 0x11], bl
je 0x1006ae3e
mov edx, dword [esi + 4]
lea eax, [edx*4 + 1]
lea edi, [esi + 0x1c]
push eax
mov ecx, edi
call fcn.1004a450
mov ecx, dword [esi + 0xc]
mov edx, dword [edi]
mov eax, dword [esi + 0x24]
push ebx
push ecx
push edx
push eax
call fcn.1003fd20
add esp, 0x10
test dword [esp + 0x15c], 0x1c0
je 0x1006b058
test byte [esp + 0x15c], 0x40
mov ebx, 0x15
je 0x1006ae77
push 1
push 0
call fcn.10045b80
add esp, 8
test al, al
je 0x1006ae77
mov edi, 0x40
xor ebx, ebx
jmp 0x1006aed4
mov edi, dword [esp + 0x15c]
and edi, 0x80
je 0x1006aea2
push 1
push 3
call fcn.10045b80
add esp, 8
test al, al
je 0x1006aea2
mov edi, 0x80
mov ebx, 3
jmp 0x1006aed4
test edi, edi
je 0x1006aec2
push 1
push 4
call fcn.10045b80
add esp, 8
test al, al
je 0x1006aec2
mov edi, 0x80
mov ebx, 4
jmp 0x1006aed4
mov edi, 0x100
test dword [esp + 0x15c], edi
je 0x1006b058
push 0x30
lea ecx, [esp + 0xcc]
push 0
push ecx
call fcn.1011a2f0
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.1003fd90
mov dword [esp + 0x100], eax
mov ebx, eax
mov eax, dword [esi + 0x3c]
lea ecx, [edi + eax*2]
push ecx
push edi
call fcn.1003fd90
mov edx, dword [esi + 0x40]
mov dword [esp + 0x10c], eax
mov ebp, eax
lea eax, [edi + edx*2]
push eax
push edi
call fcn.1003fd90
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 0x1006afb4
mov ecx, dword [esp + 0xdc]
add eax, ecx
push eax
push ecx
call fcn.1003fbb0
add esp, 8
mov dword [esi + 0x38], eax
mov byte [esi + 0xe60], 1
mov ecx, dword [esp + 0xf0]
cmp ecx, ebp
je 0x1006afd5
mov eax, dword [esp + 0xdc]
add ecx, eax
push ecx
push eax
call fcn.1003fbb0
add esp, 8
mov dword [esi + 0x3c], eax
mov ecx, dword [esp + 0xf4]
cmp ecx, edi
je 0x1006aff6
mov eax, dword [esp + 0xdc]
add ecx, eax
push ecx
push eax
call fcn.1003fbb0
add esp, 8
mov dword [esi + 0x40], eax
cmp byte [esp + 0xe8], 0
je 0x1006b058
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x48]
cmp eax, edx
jle 0x1006b023
cmp byte [esp + 0x56], 0
je 0x1006b023
lea ecx, [esi + 4]
sub eax, edx
add eax, dword [ecx]
push eax
call fcn.1004a330
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.1003fb30
fld dword [0x101a8a00]
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 0x1006b0a4
mov edi, dword [esi + 0x24]
mov ecx, dword [esp + 0x150]
mov eax, edi
jmp 0x1006b070
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x1006b090
test dl, dl
je 0x1006b08c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x1006b090
add eax, 2
add ecx, 2
test dl, dl
jne 0x1006b070
xor eax, eax
jmp 0x1006b095
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1006b0a4
mov eax, dword [esi + 0x28]
mov dword [esp + 0x20], edi
mov dword [esp + 0x18], eax
xor eax, eax
cmp dword [esp + 0x20], eax
je 0x1006b193
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x48], edi
je 0x1006b167
cmp byte [esp + 0x56], al
je 0x1006b167
lea ecx, [esp + 0xc8]
call fcn.10059cf0
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 0x1006b11e
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 0x1006b16e
mov edi, eax
jmp 0x1006b16e
mov ecx, dword [esp + 0x154]
lea eax, [edi + 1]
cmp eax, ecx
jl 0x1006b177
mov eax, ecx
mov ecx, dword [esp + 0x150]
push eax
mov eax, dword [esi + 0x24]
push eax
push ecx
call fcn.1003f5d0
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 0x1006b1c1
cmp dword [ebp + 0x19b4], ebx
jne 0x1006b1d5
call fcn.10040ba0
cmp dword [ebp + 0x19b4], ebx
jne 0x1006b1d5
cmp byte [esp + 0x11], 0
je 0x1006b1d5
mov edi, dword [esi + 0x24]
jmp 0x1006b1dc
mov edi, dword [esp + 0x150]
cmp byte [esp + 0x10], 0
mov dword [esp + 0x20], edi
jne 0x1006b23e
push 1
lea edx, [esp + 0x90]
push ebx
push edx
call fcn.100407b0
fld dword [ebp + 0x154c]
add esp, 8
fstp dword [esp]
push 1
fld1
push ecx
fstp dword [esp]
push 7
call fcn.10040190
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.10040360
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 0x1006b291
mov eax, dword [esp + 0x4c]
fstp st(0)
fstp st(0)
add eax, 0xc8
jmp 0x1006b2ad
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 0x1006b2ee
test cl, cl
je 0x1006b2ee
mov ecx, dword [esp + 0x4c]
push 0
push 0x101a8a50
call fcn.100465e0
cmp dword [ebp + 0x19b4], eax
jne 0x1006b2ee
mov al, 1
jmp 0x1006b2f0
xor al, al
cmp dword [ebp + 0x19b4], ebx
je 0x1006b3d8
test al, al
jne 0x1006b3d8
cmp byte [esp + 0x10], al
mov dword [esp + 0x28], 0
je 0x1006b350
fld dword [esp + 0xa4]
lea esi, [esp + 0x28]
mov ecx, edi
fstp dword [esp + 0x60]
call fcn.10059870
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 0x1006b376
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1006b355
sub eax, edx
add eax, edi
mov ecx, eax
sub ecx, edi
cmp ecx, 0x200000
jge 0x1006bcbb
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.10040190
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.100819c0
mov ebp, dword [esp + 0x30]
jmp 0x1006bc73
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 0x1006b449
jl 0x1006b435
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 0x1006b4a9
movzx edx, dx
cmp dx, 0xa
jne 0x1006b499
add ecx, 1
cmp dword [esp + 0x58], 0xffffffff
jne 0x1006b485
cmp ebx, dword [esp + 0x6c]
jb 0x1006b485
sub eax, 1
test eax, eax
mov dword [esp + 0x58], ecx
jle 0x1006b4a5
cmp edi, 0xffffffff
jne 0x1006b499
cmp ebx, dword [esp + 0x70]
jb 0x1006b499
sub eax, 1
test eax, eax
mov edi, ecx
jle 0x1006b4a5
movzx edx, word [ebx + 2]
add ebx, 2
test dx, dx
jne 0x1006b464
mov dword [esp + 0x5c], edi
add ecx, 1
cmp dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x34], ecx
jne 0x1006b4bb
mov dword [esp + 0x58], ecx
cmp edi, 0xffffffff
jne 0x1006b4c4
mov dword [esp + 0x5c], ecx
mov edi, dword [esp + 0x6c]
push 0
push 0
push ebp
push edi
call fcn.1003f670
add esp, 8
xor bl, bl
lea ecx, [esp + 0xc8]
call fcn.1005e480
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 0x1006b54b
mov edi, dword [esp + 0x70]
push 0
push 0
push ebp
push edi
call fcn.1003f670
add esp, 8
lea ecx, [esp + 0xc8]
call fcn.1005e480
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 0x1006b580
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 0x1006b6c7
test dword [esp + 0x15c], 0x1000
jne 0x1006b622
fld st(2)
fmul qword [0x101a7fa0]
fstp dword [esp + 0x28]
fld dword [esi + 0x34]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1006b5fa
fstp st(2)
fld dword [esp + 0x28]
fsubp st(2)
fxch st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fcom qword [0x101a39c0]
fnstsw ax
test ah, 0x41
jp 0x1006b5e0
fstp st(0)
fldz
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
call fcn.10119fe0
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fstp dword [esi + 0x34]
jmp 0x1006b62f
fsubrp st(2)
fld dword [esi + 0x34]
fcomp st(2)
fnstsw ax
test ah, 0x41
jp 0x1006b62d
fld dword [esp + 0x28]
faddp st(2)
fxch st(1)
call fcn.10119fe0
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
fstp dword [esi + 0x34]
jmp 0x1006b62f
fstp st(2)
fstp st(1)
fldz
fstp dword [esi + 0x34]
jmp 0x1006b62f
fstp st(1)
test bl, bl
je 0x1006b6cb
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 0x1006b67e
fstp st(0)
fstp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fcom qword [0x101a39c0]
fnstsw ax
test ah, 0x41
jp 0x1006b678
fstp st(0)
fldz
fstp dword [esp + 0x18]
jmp 0x1006b69a
fstp st(1)
fld dword [esp + 0xa8]
fsubp st(2)
fcomp st(1)
fnstsw ax
test ah, 0x41
jp 0x1006b698
fstp dword [esp + 0x18]
jmp 0x1006b69a
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 0x1006b6cd
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 0x1006ba39
mov edx, eax
jl 0x1006b6ef
mov edx, ecx
cmp eax, ecx
lea ebx, [ebp + edx*2]
jge 0x1006b6f9
mov eax, ecx
cmp byte [esp + 0x10], 0
lea edi, [ebp + eax*2]
je 0x1006b70f
fldz
fst dword [esp + 0xac]
jmp 0x1006b722
fld dword [0x101a3f3c]
fstp dword [esp + 0xac]
fld dword [0x101a5330]
fstp dword [esp + 0x48]
push ecx
fld1
fstp dword [esp]
push 0x2a
call fcn.10040190
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 [0x101a39c0]
fstp dword [esp + 0x70]
jae 0x1006ba3d
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 0x1006ba35
fld dword [esp + 0xb4]
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x1006b800
cmp ecx, edi
jae 0x1006b7de
mov ax, word [ecx]
add ecx, 2
cmp ax, 0xa
je 0x1006b7da
cmp ecx, edi
jb 0x1006b7ca
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 0x1006b790
jmp 0x1006ba3d
lea edx, [esp + 0x18]
fstp st(0)
push 0
mov eax, ecx
push edx
mov bl, 1
lea ecx, [esp + 0xa4]
call fcn.1005e480
fldz
fcomp dword [esp + 0xa4]
add esp, 8
fnstsw ax
test bl, ah
jne 0x1006b867
mov eax, dword [ebp + 0x18b0]
cmp dword [eax + 0x1c], 0x20
jle 0x1006b842
mov eax, dword [eax + 0x24]
fld dword [eax + 0x80]
jmp 0x1006b845
fld dword [eax + 0x38]
fstp dword [esp + 0x28]
fld dword [esp + 0x28]
fmul qword [0x101a5230]
call fcn.10119fe0
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 [0x101a39c0]
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 0x1006b8de
fxch st(1)
fstp dword [esp + 0x34]
jmp 0x1006b8e4
fstp st(1)
fst dword [esp + 0x34]
fld dword [esp + 0x110]
fld dword [esp + 0xb0]
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x1006b8ff
fstp st(0)
jmp 0x1006b901
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 0x1006b956
fxch st(1)
fstp dword [esp + 0x28]
jmp 0x1006b95c
fstp st(1)
fst dword [esp + 0x28]
fld dword [esp + 0x118]
fld dword [esp + 0xb8]
fcomp st(1)
fnstsw ax
test ah, 0x41
je 0x1006b97c
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 0x1006ba17
fcompp
fnstsw ax
test ah, 0x41
jne 0x1006ba28
fld dword [esp + 0xb0]
fcomp st(2)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x1006ba2a
fld dword [esp + 0xb8]
fcompp
fnstsw ax
test ah, 0x41
jne 0x1006ba2c
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.10081640
fld dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
jmp 0x1006b7de
mov ecx, dword [esp + 0x18]
fstp st(3)
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x1006b7de
fstp st(1)
fstp st(0)
mov ecx, dword [esp + 0x18]
jmp 0x1006b7de
fstp st(0)
jmp 0x1006ba3d
mov ebp, dword [esp + 0x30]
mov al, byte [esp + 0x10]
test al, al
mov esi, dword [esi + 0x28]
jne 0x1006ba50
cmp esi, 0x200000
jge 0x1006bac4
fld dword [esp + 0x84]
neg al
fsub dword [esp + 0x60]
lea ecx, [esp + 0xb0]
fstp dword [esp + 0x3c]
fld dword [esp + 0x88]
fsub qword [0x101a39c0]
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.10040190
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.100819c0
cmp byte [ebp + 0xbe], 0
je 0x1006bb06
fldz
fcomp dword [ebp + 0x2b68]
fnstsw ax
test ah, 1
je 0x1006bb06
fld dword [ebp + 0x2b68]
fld qword [0x101a8b28]
call fcn.1011cb2a
fstp dword [esp + 0x58]
fld dword [esp + 0x58]
fcomp qword [0x101a7eb0]
fnstsw ax
test ah, 0x41
jnp 0x1006bb06
xor al, al
jmp 0x1006bb08
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 [0x101a39c0]
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 [0x101a5230]
fstp dword [esp + 0x104]
fld st(1)
fadd qword [0x101a6320]
fstp dword [esp + 0x108]
fld qword [0x101a8ca0]
fsubr st(1)
fstp dword [esp + 0x10c]
je 0x1006bc3c
fld dword [esp + 0xb4]
fld dword [esp + 0x10c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x1006bc3a
fld dword [esp + 0xbc]
fld dword [esp + 0x104]
fcompp
fnstsw ax
test ah, 5
jp 0x1006bc3a
fld dword [esp + 0xb0]
fld dword [esp + 0x108]
fcompp
fnstsw ax
test ah, 0x41
jne 0x1006bc3a
fld dword [esp + 0xb8]
fcomp st(3)
fnstsw ax
test ah, 0x41
jne 0x1006bc3a
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.10040190
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.10081450
fld dword [esp + 0x7c]
fld dword [esp + 0x80]
jmp 0x1006bc3c
fstp st(0)
cmp byte [esp + 0x11], 0
je 0x1006bc6f
fxch st(1)
fsub qword [0x101a6320]
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 0x1006bc73
fstp st(1)
fstp st(0)
cmp byte [esp + 0x10], 0
je 0x1006bcbb
fld dword [ebp + 0x18b4]
lea ecx, [esp + 0x3c]
fstp dword [esp + 0xc4]
push ecx
fld dword [esp + 0x78]
fadd qword [0x101a39c0]
fstp dword [esp + 0x40]
fld dword [esp + 0xc8]
fadd dword [esp + 0x7c]
fstp dword [esp + 0x44]
call fcn.10058f90
add esp, 4
call fcn.100544d0
call fcn.1004d360
mov bl, byte [esp + 0x47]
test bl, bl
je 0x1006bcc8
call fcn.10048080
mov esi, dword [esp + 0x30]
cmp byte [esi + 0x2c4c], 0
je 0x1006bcf0
test bl, bl
jne 0x1006bcf0
mov edx, dword [esp + 0x20]
push 0
push edx
lea eax, [esp + 0x8c]
push eax
call fcn.1004e770
add esp, 0xc
fldz
fcomp dword [esp + 0xf8]
fnstsw ax
test ah, 5
jp 0x1006bd40
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.1004f580
add esp, 0x14
mov bl, byte [esp + 0x57]
test bl, bl
je 0x1006bd55
mov ecx, dword [esp + 0x50]
push ecx
call fcn.10040c40
add esp, 4
test byte [esp + 0x15c], 0x20
mov al, byte [esp + 0x17]
jne 0x1006bd65
mov al, bl
pop esi
pop ebp
pop ebx
pop edi
add esp, 0x138
ret