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

Disassembly:
push 0xffffffffffffffff
push 0x101763b6
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x101c8fb4]
xor eax, esp
mov dword [esp + 0x11c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101c8fb4]
xor eax, esp
push eax
lea eax, [esp + 0x134]
mov dword fs:[0], eax
mov esi, dword [esp + 0x144]
mov ebx, dword [esp + 0x148]
mov ebp, dword [esp + 0x15c]
xor edi, edi
mov dword [esp + 0x5c], edi
push edi
push 0x1017b900
lea ecx, [esp + 0xd4]
mov dword [esp + 0xa8], esi
mov dword [esp + 0xec], 0xf
mov dword [esp + 0xe8], edi
mov byte [esp + 0xd8], 0
call fcn.10004080
mov dword [esp + 0x13c], 1
fld qword [0x1017bbb0]
fld qword [esp + 0x160]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x1008a3cd
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x1008a3cf
mov eax, dword [esp + 0x168]
cmp eax, edi
jl 0x10087e4f
cmp eax, 3
jle 0x10087e5b
add eax, 0xfffffffb
cmp eax, 3
ja 0x1008a381
push 0x1017bb9c
push ebp
call fcn.10112130
add esp, 8
test eax, eax
je 0x10087f92
mov al, 0xd2
mov byte [esp + 0xf2], al
mov byte [esp + 0xf6], al
mov al, 0xd6
mov byte [esp + 0xff], al
mov byte [esp + 0x102], al
lea eax, [esp + 0xf0]
mov dl, 0xc9
mov cl, 0xab
push eax
push ebx
mov byte [esp + 0xf8], 0xd7
mov byte [esp + 0xf9], 0xa2
mov byte [esp + 0xfb], 0xe2
mov byte [esp + 0xfc], 0x2c
mov byte [esp + 0xfd], 0xd5
mov byte [esp + 0xff], dl
mov byte [esp + 0x100], cl
mov byte [esp + 0x101], 0xbd
mov byte [esp + 0x102], 0xd3
mov byte [esp + 0x103], 0xbf
mov byte [esp + 0x104], 0xda
mov byte [esp + 0x105], 0xb2
mov byte [esp + 0x106], 0xbb
mov byte [esp + 0x108], 0xa7
mov byte [esp + 0x109], 0xb3
mov byte [esp + 0x10b], 0x48
mov byte [esp + 0x10c], 0x53
mov byte [esp + 0x10d], 0x56
mov byte [esp + 0x10e], 0xd1
mov byte [esp + 0x10f], 0xd5
mov byte [esp + 0x110], dl
mov byte [esp + 0x111], cl
mov byte [esp + 0x112], 0x21
mov byte [esp + 0x113], 0
call fcn.10051ef0
add esp, 8
lea ecx, [esp + 0xcc]
push ecx
mov ecx, esi
call fcn.10004150
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 0
lea ecx, [esp + 0xcc]
call fcn.10001d10
jmp 0x1008a430
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x164]
lea edx, [esp + 0x60]
push edx
mov edx, dword [esp + 0x164]
lea eax, [esp + 0xb4]
push eax
mov eax, dword [esp + 0x164]
push ecx
mov ecx, dword [esp + 0x164]
push edx
push eax
push ecx
push ebx
mov dword [esp + 0x6c], edi
call fcn.10057d00
add esp, 0x28
test eax, eax
jne 0x10087fe9
lea edx, [esp + 0xcc]
push edx
jmp 0x10087f6a
fld1
mov dword [esp + 0x74], edi
fsub qword [esp + 0x160]
mov dword [esp + 0x78], edi
fnstcw word [esp + 0x14]
mov dword [esp + 0x7c], edi
fmul qword [0x1017bb60]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x58], eax
fldcw word [esp + 0x58]
fistp qword [esp + 0xe8]
mov ebx, dword [esp + 0xe8]
fldcw word [esp + 0x14]
mov byte [esp + 0x13c], 2
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], edi
mov byte [esp + 0x13c], 3
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov byte [esp + 0x13c], 4
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
mov byte [esp + 0x13c], 5
xor esi, esi
cmp ebp, edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x48], 1
je 0x1008822b
cmp byte [ebp], 0x40
jne 0x100880a5
add ebp, 1
mov dword [esp + 0x48], edi
cmp ebp, edi
je 0x1008822b
mov dword [esp + 0x58], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], edi
lea ecx, [ecx]
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0xf0]
push edx
push ebp
mov dword [esp + 0x50], edi
mov dword [esp + 0x38], edi
mov byte [esp + 0xf8], 0x25
mov byte [esp + 0xf9], 0x78
mov byte [esp + 0xfa], 0x2d
mov byte [esp + 0xfb], 0x25
mov byte [esp + 0xfc], 0x78
mov byte [esp + 0xfd], 0
call fcn.10113843
add esp, 0x10
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x74]
call fcn.1007d7d0
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x64]
call fcn.1007d7d0
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x94]
call fcn.1007d7d0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x84]
call fcn.1007d7d0
mov ecx, dword [esp + 0x64]
cmp ecx, edi
je 0x10088166
mov eax, dword [esp + 0x68]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x1008816f
call fcn.1011323c
mov ecx, dword [esp + 0x64]
movzx edx, byte [esp + 0x2a]
add edx, ebx
mov dword [ecx + esi*4], edx
mov ecx, dword [esp + 0x94]
cmp ecx, edi
je 0x10088194
mov eax, dword [esp + 0x98]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x100881a0
call fcn.1011323c
mov ecx, dword [esp + 0x94]
movzx eax, byte [esp + 0x29]
add eax, ebx
mov dword [ecx + esi*4], eax
mov ecx, dword [esp + 0x84]
cmp ecx, edi
je 0x100881c5
mov eax, dword [esp + 0x88]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x100881d1
call fcn.1011323c
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x28]
and edx, 0xff
add edx, ebx
mov dword [ecx + esi*4], edx
mov ecx, dword [esp + 0x74]
cmp ecx, edi
je 0x100881f5
mov eax, dword [esp + 0x78]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x100881fe
call fcn.1011323c
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x40]
push 0x1017ba38
push ebp
mov dword [ecx + esi*4], eax
call fcn.10112130
mov ebp, eax
add esp, 8
cmp ebp, edi
je 0x1008821c
add ebp, 1
add esi, 1
cmp ebp, edi
jne 0x100880c0
mov dword [esp + 0x2c], esi
push 0x2ee6
call fcn.10111579
mov esi, eax
push 0x1772
mov dword [esp + 0x60], esi
call fcn.10111579
mov ebp, eax
push 0x1772
mov dword [esp + 0x4c], ebp
call fcn.10111579
add esp, 0xc
cmp esi, edi
mov ebx, eax
mov dword [esp + 0x1c], ebx
je 0x1008a35a
cmp ebp, edi
je 0x1008a351
cmp ebx, edi
je 0x1008a351
push 0x2ee6
push edi
push esi
call fcn.10112240
push 0x1772
push edi
push ebp
call fcn.10112240
push 0x1772
push edi
push ebx
call fcn.10112240
add esp, 0x24
cmp dword [esp + 0x168], edi
jne 0x10088701
cmp dword [esp + 0xac], edi
mov dword [esp + 0x14], edi
jle 0x1008a240
mov ecx, dword [esp + 0xa8]
test ecx, ecx
mov dword [esp + 0x18], 0
jle 0x100886e4
mov ecx, dword [esp + 0x14]
imul ecx, dword [esp + 0x54]
add ecx, dword [esp + 0x44]
cmp dword [esp + 0x2c], 0
mov edx, dword [esp + 0x18]
lea eax, [ecx + edx*4]
mov dword [esp + 0x3c], eax
mov byte [eax + 3], 0
mov dword [esp + 0x28], 0
jle 0x100886ca
mov ecx, dword [esp + 0x84]
test ecx, ecx
mov edi, dword [esp + 0x28]
je 0x10088320
mov eax, dword [esp + 0x88]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1008832c
call fcn.1011323c
mov ecx, dword [esp + 0x84]
lea ebp, [ecx + edi*4]
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x1008834a
mov eax, dword [esp + 0x98]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1008834f
call fcn.1011323c
mov ecx, dword [esp + 0x64]
test ecx, ecx
mov eax, dword [esp + 0x94]
lea ebx, [eax + edi*4]
je 0x1008836e
mov eax, dword [esp + 0x68]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x10088373
call fcn.1011323c
mov ecx, dword [esp + 0x64]
lea esi, [ecx + edi*4]
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x1008838f
mov eax, dword [esp + 0x78]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x10088394
call fcn.1011323c
mov edx, dword [ebp]
mov edi, dword [esi]
mov ebp, dword [ebx]
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x28]
mov ecx, dword [ecx + edx*4]
movzx ebx, ah
movzx esi, ch
mov edx, ecx
shr edx, 0x10
and edx, 0xff
mov dword [esp + 0x20], esi
mov esi, eax
and eax, 0xff
mov dword [esp + 0xe8], eax
shr esi, 0x10
and ecx, 0xff
mov dword [esp + 0x38], ebx
and esi, 0xff
mov ebx, edx
sub ebx, edi
mov eax, 0
sets al
sub eax, 1
and eax, ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x34], eax
sub ebx, ebp
mov eax, 0
sets al
sub eax, 1
and eax, ebx
mov dword [esp + 0x30], eax
mov ebx, ecx
sub ebx, dword [esp + 0x24]
mov eax, 0
sets al
add edx, edi
sub eax, 1
and eax, ebx
cmp edx, 0xff
jle 0x10088434
mov edx, 0xff
mov edi, dword [esp + 0x20]
add ebp, edi
cmp ebp, 0xff
jle 0x10088447
mov ebp, 0xff
mov edi, dword [esp + 0x24]
add ecx, edi
cmp ecx, 0xff
jle 0x1008845a
mov ecx, 0xff
cmp esi, dword [esp + 0x34]
jl 0x10088488
cmp esi, edx
jg 0x10088488
mov edx, dword [esp + 0x38]
cmp edx, dword [esp + 0x30]
jl 0x10088488
cmp edx, ebp
jg 0x10088488
mov edx, dword [esp + 0xe8]
cmp edx, eax
jl 0x10088488
cmp edx, ecx
jg 0x10088488
mov eax, 1
jmp 0x1008848a
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x100884aa
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
jl 0x10088301
jmp 0x100886ca
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0xf1], eax
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov word [esp + 0x10d], ax
mov byte [esp + 0x10f], al
mov byte [esp + 0x110], al
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov dword [esp + 0x121], eax
mov dword [esp + 0x125], eax
mov dword [esp + 0x129], eax
mov word [esp + 0x12d], ax
mov byte [esp + 0x12f], al
mov eax, dword [esp + 0x50]
lea edi, [edx + ecx]
mov ecx, dword [esp + 0x14]
lea ebx, [ecx + eax]
mov eax, ebp
mov byte [esp + 0xf0], 0
lea ecx, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10088560
sub eax, ecx
mov esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10088574
sub eax, edx
push edi
lea edx, [esp + 0xf4]
push 0x1017bab8
push edx
mov dword [esp + 0xf4], eax
call fcn.10112d57
push ebx
lea eax, [esp + 0x120]
push 0x1017bab8
push eax
call fcn.10112d57
add esp, 0x18
test esi, esi
lea eax, [esp + 0xf0]
jne 0x100885ce
mov edx, ebp
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x100885c0
jmp 0x1008863a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100885d1
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1008863a
mov edi, ebp
add edi, 0xffffffff
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x100885f0
mov dx, word [0x1017ba54]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10088610
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10088622
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0xe8]
test esi, esi
lea eax, [esp + 0x110]
jne 0x10088662
mov edx, dword [esp + 0x1c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10088654
jmp 0x100886ca
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10088665
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x100886ca
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10088682
mov dx, word [0x1017ba54]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x100886a0
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x100886b2
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xa8]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x100882d2
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
jl 0x100882c2
jmp 0x1008a240
mov eax, dword [esp + 0x168]
cmp eax, 1
jne 0x10088ae4
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x1008a240
mov ecx, dword [esp + 0xa8]
test ecx, ecx
mov dword [esp + 0x18], 0
jle 0x10088ad4
mov edi, edi
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x54]
add eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x18]
lea eax, [eax + ecx*4]
xor esi, esi
cmp dword [esp + 0x2c], esi
mov dword [esp + 0xe8], eax
mov byte [eax + 3], 0
jle 0x10088aba
jmp 0x10088770
push esi
lea ecx, [esp + 0x84]
call fcn.1006d330
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.1006d330
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1006d330
mov edi, dword [eax]
mov eax, dword [esp + 0xe8]
mov ebx, dword [eax]
push esi
lea ecx, [esp + 0x74]
mov dword [esp + 0x34], ebx
call fcn.1006d330
mov eax, dword [eax]
movzx edx, ah
mov dword [esp + 0x24], edx
movzx edx, bh
and ebx, 0xff
mov dword [esp + 0x28], ebx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dword [esp + 0x34], edx
and eax, 0xff
mov edx, ecx
sub edx, edi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], ebx
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x3c], ebx
mov edx, eax
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
add ecx, edi
sub ebx, 1
and edx, ebx
cmp ecx, 0xff
jle 0x1008882d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x10088840
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x10088852
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x10088882
cmp edi, ecx
jg 0x10088882
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x10088882
cmp ecx, ebp
jg 0x10088882
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x10088882
cmp ecx, eax
jg 0x10088882
mov eax, 1
jmp 0x10088884
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1008889c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x10088770
jmp 0x10088aba
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov dword [esp + 0x121], eax
mov dword [esp + 0x125], eax
mov dword [esp + 0x129], eax
mov word [esp + 0x12d], ax
mov byte [esp + 0x12f], al
mov byte [esp + 0xf0], al
mov dword [esp + 0xf1], eax
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov word [esp + 0x10d], ax
mov byte [esp + 0x10f], al
mov eax, dword [esp + 0x4c]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x14]
lea ebx, [eax + edx]
mov eax, ebp
mov byte [esp + 0x110], 0
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10088950
sub eax, ecx
mov esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10088964
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1017bab8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10112d57
push ebx
lea edx, [esp + 0x100]
push 0x1017bab8
push edx
call fcn.10112d57
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x100889c1
mov edx, ebp
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x100889b0
jmp 0x10088a2a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100889c4
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x10088a2a
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x100889e0
mov dx, word [0x1017ba54]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10088a00
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10088a12
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0xe8]
test esi, esi
lea eax, [esp + 0xf0]
jne 0x10088a52
mov edx, dword [esp + 0x1c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10088a44
jmp 0x10088aba
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10088a55
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x10088aba
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10088a72
mov dx, word [0x1017ba54]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10088a90
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10088aa2
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xa8]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x10088740
sub dword [esp + 0x14], 1
jns 0x1008872e
jmp 0x1008a240
cmp eax, 2
jne 0x10088eb4
cmp dword [esp + 0xac], edi
mov dword [esp + 0x14], edi
jle 0x1008a240
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x10088e97
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x54]
add eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x18]
lea eax, [eax + ecx*4]
xor esi, esi
cmp dword [esp + 0x2c], esi
mov dword [esp + 0xe8], eax
mov byte [eax + 3], 0
jle 0x10088e8c
lea ecx, [ecx]
push esi
lea ecx, [esp + 0x84]
call fcn.1006d330
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.1006d330
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1006d330
mov edi, dword [eax]
mov eax, dword [esp + 0xe8]
mov ebx, dword [eax]
push esi
lea ecx, [esp + 0x74]
mov dword [esp + 0x34], ebx
call fcn.1006d330
mov eax, dword [eax]
movzx edx, ah
mov dword [esp + 0x24], edx
movzx edx, bh
and ebx, 0xff
mov dword [esp + 0x28], ebx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dword [esp + 0x34], edx
and eax, 0xff
mov edx, ecx
sub edx, edi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], ebx
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x3c], ebx
mov edx, eax
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
add ecx, edi
sub ebx, 1
and edx, ebx
cmp ecx, 0xff
jle 0x10088bfd
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x10088c10
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x10088c22
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x10088c52
cmp edi, ecx
jg 0x10088c52
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x10088c52
cmp ecx, ebp
jg 0x10088c52
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x10088c52
cmp ecx, eax
jg 0x10088c52
mov eax, 1
jmp 0x10088c54
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x10088c6c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x10088b40
jmp 0x10088e8c
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov dword [esp + 0x121], eax
mov dword [esp + 0x125], eax
mov dword [esp + 0x129], eax
mov word [esp + 0x12d], ax
mov byte [esp + 0x12f], al
mov byte [esp + 0xf0], al
mov dword [esp + 0xf1], eax
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov word [esp + 0x10d], ax
mov byte [esp + 0x10f], al
mov eax, dword [esp + 0x4c]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x14]
lea ebx, [eax + edx]
mov eax, ebp
mov byte [esp + 0x110], 0
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10088d20
sub eax, ecx
mov esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10088d34
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1017bab8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10112d57
push ebx
lea edx, [esp + 0x100]
push 0x1017bab8
push edx
call fcn.10112d57
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x10088d91
mov edx, ebp
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10088d80
jmp 0x10088dfa
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10088d94
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x10088dfa
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10088db0
mov dx, word [0x1017ba54]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10088dd0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10088de2
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0xe8]
test esi, esi
lea eax, [esp + 0xf0]
jne 0x10088e25
mov edx, dword [esp + 0x1c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10088e14
jmp 0x10088e8c
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10088e28
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x10088e8c
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10088e45
mov dx, word [0x1017ba54]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10088e62
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10088e74
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
sub dword [esp + 0x18], 1
jns 0x10088b12
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
jl 0x10088afe
jmp 0x1008a240
cmp eax, 3
jne 0x10089295
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x1008a240
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x10089285
jmp 0x10088ef0
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x54]
add eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x18]
lea eax, [eax + ecx*4]
xor esi, esi
cmp dword [esp + 0x2c], esi
mov dword [esp + 0xe8], eax
mov byte [eax + 3], 0
jle 0x1008927a
jmp 0x10088f20
push esi
lea ecx, [esp + 0x84]
call fcn.1006d330
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.1006d330
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1006d330
mov edi, dword [eax]
mov eax, dword [esp + 0xe8]
mov ebx, dword [eax]
push esi
lea ecx, [esp + 0x74]
mov dword [esp + 0x34], ebx
call fcn.1006d330
mov eax, dword [eax]
movzx edx, ah
mov dword [esp + 0x24], edx
movzx edx, bh
and ebx, 0xff
mov dword [esp + 0x28], ebx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dword [esp + 0x34], edx
and eax, 0xff
mov edx, ecx
sub edx, edi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], ebx
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x3c], ebx
mov edx, eax
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
add ecx, edi
sub ebx, 1
and edx, ebx
cmp ecx, 0xff
jle 0x10088fdd
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x10088ff0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x10089002
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x10089032
cmp edi, ecx
jg 0x10089032
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x10089032
cmp ecx, ebp
jg 0x10089032
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x10089032
cmp ecx, eax
jg 0x10089032
mov eax, 1
jmp 0x10089034
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1008904c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x10088f20
jmp 0x1008927a
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov dword [esp + 0x121], eax
mov dword [esp + 0x125], eax
mov dword [esp + 0x129], eax
mov word [esp + 0x12d], ax
mov byte [esp + 0x12f], al
mov byte [esp + 0xf0], al
mov dword [esp + 0xf1], eax
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov word [esp + 0x10d], ax
mov byte [esp + 0x10f], al
mov eax, dword [esp + 0x4c]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x14]
lea ebx, [eax + edx]
mov eax, ebp
mov byte [esp + 0x110], 0
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10089100
sub eax, ecx
mov esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10089114
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1017bab8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10112d57
push ebx
lea edx, [esp + 0x100]
push 0x1017bab8
push edx
call fcn.10112d57
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x10089171
mov edx, ebp
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10089160
jmp 0x100891da
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10089174
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x100891da
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10089191
mov dx, word [0x1017ba54]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x100891b0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x100891c2
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0xe8]
test esi, esi
lea eax, [esp + 0xf0]
jne 0x10089205
mov edx, dword [esp + 0x1c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x100891f4
jmp 0x1008927a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10089208
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1008927a
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
lea esp, [esp]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10089230
mov dx, word [0x1017ba54]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10089250
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10089262
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
sub dword [esp + 0x18], 1
jns 0x10088ef0
sub dword [esp + 0x14], 1
jns 0x10088ed3
jmp 0x1008a240
cmp eax, 5
jne 0x10089691
cmp dword [esp + 0xa8], edi
mov dword [esp + 0x18], edi
jle 0x1008a240
mov ecx, dword [esp + 0xac]
test ecx, ecx
mov dword [esp + 0x14], 0
jle 0x10089674
jmp 0x100892d0
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
add ecx, ecx
add ecx, ecx
add eax, ecx
add eax, dword [esp + 0x44]
xor esi, esi
cmp dword [esp + 0x2c], esi
mov dword [esp + 0xe8], eax
mov byte [eax + 3], 0
jle 0x1008965a
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.1006d330
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.1006d330
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1006d330
mov ecx, dword [esp + 0xe8]
mov ebx, dword [ecx]
mov edi, dword [eax]
push esi
lea ecx, [esp + 0x74]
mov dword [esp + 0x34], ebx
call fcn.1006d330
mov eax, dword [eax]
movzx edx, ah
mov dword [esp + 0x24], edx
movzx edx, bh
and ebx, 0xff
mov dword [esp + 0x28], ebx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dword [esp + 0x34], edx
and eax, 0xff
mov edx, ecx
sub edx, edi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], ebx
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x3c], ebx
mov edx, eax
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
add ecx, edi
sub ebx, 1
and edx, ebx
cmp ecx, 0xff
jle 0x100893bd
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x100893d0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x100893e2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x10089412
cmp edi, ecx
jg 0x10089412
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x10089412
cmp ecx, ebp
jg 0x10089412
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x10089412
cmp ecx, eax
jg 0x10089412
mov eax, 1
jmp 0x10089414
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1008942c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x10089300
jmp 0x1008965a
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov dword [esp + 0x121], eax
mov dword [esp + 0x125], eax
mov dword [esp + 0x129], eax
mov word [esp + 0x12d], ax
mov byte [esp + 0x12f], al
mov byte [esp + 0xf0], al
mov dword [esp + 0xf1], eax
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov word [esp + 0x10d], ax
mov byte [esp + 0x10f], al
mov eax, dword [esp + 0x4c]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x14]
lea ebx, [eax + edx]
mov eax, ebp
mov byte [esp + 0x110], 0
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x100894e0
sub eax, ecx
mov esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100894f4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1017bab8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10112d57
push ebx
lea edx, [esp + 0x100]
push 0x1017bab8
push edx
call fcn.10112d57
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x10089551
mov edx, ebp
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10089540
jmp 0x100895ba
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10089554
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x100895ba
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10089571
mov dx, word [0x1017ba54]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10089590
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x100895a2
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0xe8]
test esi, esi
lea eax, [esp + 0xf0]
jne 0x100895e5
mov edx, dword [esp + 0x1c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x100895d4
jmp 0x1008965a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100895e8
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1008965a
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
lea esp, [esp]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10089610
mov dx, word [0x1017ba54]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10089630
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10089642
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xac]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x100892d0
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
jl 0x100892b6
jmp 0x1008a240
cmp eax, 6
jne 0x10089a84
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x18], eax
jl 0x1008a240
mov ecx, dword [esp + 0xac]
test ecx, ecx
mov dword [esp + 0x14], 0
jle 0x10089a74
jmp 0x100896d0
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
add ecx, ecx
add ecx, ecx
add eax, ecx
add eax, dword [esp + 0x44]
xor esi, esi
cmp dword [esp + 0x2c], esi
mov dword [esp + 0xe8], eax
mov byte [eax + 3], 0
jle 0x10089a5a
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.1006d330
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.1006d330
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1006d330
mov ecx, dword [esp + 0xe8]
mov ebx, dword [ecx]
mov edi, dword [eax]
push esi
lea ecx, [esp + 0x74]
mov dword [esp + 0x34], ebx
call fcn.1006d330
mov eax, dword [eax]
movzx edx, ah
mov dword [esp + 0x24], edx
movzx edx, bh
and ebx, 0xff
mov dword [esp + 0x28], ebx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dword [esp + 0x34], edx
and eax, 0xff
mov edx, ecx
sub edx, edi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], ebx
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x3c], ebx
mov edx, eax
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
add ecx, edi
sub ebx, 1
and edx, ebx
cmp ecx, 0xff
jle 0x100897bd
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x100897d0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x100897e2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x10089812
cmp edi, ecx
jg 0x10089812
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x10089812
cmp ecx, ebp
jg 0x10089812
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x10089812
cmp ecx, eax
jg 0x10089812
mov eax, 1
jmp 0x10089814
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1008982c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x10089700
jmp 0x10089a5a
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov dword [esp + 0x121], eax
mov dword [esp + 0x125], eax
mov dword [esp + 0x129], eax
mov word [esp + 0x12d], ax
mov byte [esp + 0x12f], al
mov byte [esp + 0xf0], al
mov dword [esp + 0xf1], eax
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov word [esp + 0x10d], ax
mov byte [esp + 0x10f], al
mov eax, dword [esp + 0x4c]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x14]
lea ebx, [eax + edx]
mov eax, ebp
mov byte [esp + 0x110], 0
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x100898e0
sub eax, ecx
mov esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100898f4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1017bab8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10112d57
push ebx
lea edx, [esp + 0x100]
push 0x1017bab8
push edx
call fcn.10112d57
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x10089951
mov edx, ebp
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x10089940
jmp 0x100899ba
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10089954
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x100899ba
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10089971
mov dx, word [0x1017ba54]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
mov edi, edi
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10089990
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x100899a2
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0xe8]
test esi, esi
lea eax, [esp + 0xf0]
jne 0x100899e5
mov edx, dword [esp + 0x1c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x100899d4
jmp 0x10089a5a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100899e8
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x10089a5a
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
lea esp, [esp]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10089a10
mov dx, word [0x1017ba54]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10089a30
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10089a42
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xac]
add eax, 1
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x100896d0
sub dword [esp + 0x18], 1
jns 0x100896b7
jmp 0x1008a240
cmp eax, 7
jne 0x10089e62
cmp dword [esp + 0xa8], edi
mov dword [esp + 0x18], edi
jle 0x1008a240
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
js 0x10089e45
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
add ecx, ecx
add ecx, ecx
add eax, ecx
add eax, dword [esp + 0x44]
xor esi, esi
cmp dword [esp + 0x2c], esi
mov dword [esp + 0xe8], eax
mov byte [eax + 3], 0
jle 0x10089e3a
push esi
lea ecx, [esp + 0x84]
call fcn.1006d330
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.1006d330
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1006d330
mov ecx, dword [esp + 0xe8]
mov ebx, dword [ecx]
mov edi, dword [eax]
push esi
lea ecx, [esp + 0x74]
mov dword [esp + 0x34], ebx
call fcn.1006d330
mov eax, dword [eax]
movzx edx, ah
mov dword [esp + 0x24], edx
movzx edx, bh
and ebx, 0xff
mov dword [esp + 0x28], ebx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dword [esp + 0x34], edx
and eax, 0xff
mov edx, ecx
sub edx, edi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], ebx
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x3c], ebx
mov edx, eax
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
add ecx, edi
sub ebx, 1
and edx, ebx
cmp ecx, 0xff
jle 0x10089b9d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x10089bb0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x10089bc2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x10089bf2
cmp edi, ecx
jg 0x10089bf2
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x10089bf2
cmp ecx, ebp
jg 0x10089bf2
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x10089bf2
cmp ecx, eax
jg 0x10089bf2
mov eax, 1
jmp 0x10089bf4
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x10089c0c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x10089ae0
jmp 0x10089e3a
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov dword [esp + 0x121], eax
mov dword [esp + 0x125], eax
mov dword [esp + 0x129], eax
mov word [esp + 0x12d], ax
mov byte [esp + 0x12f], al
mov byte [esp + 0xf0], al
mov dword [esp + 0xf1], eax
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov word [esp + 0x10d], ax
mov byte [esp + 0x10f], al
mov eax, dword [esp + 0x4c]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x14]
lea ebx, [eax + edx]
mov eax, ebp
mov byte [esp + 0x110], 0
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10089cc0
sub eax, ecx
mov esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10089cd4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1017bab8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10112d57
push ebx
lea edx, [esp + 0x100]
push 0x1017bab8
push edx
call fcn.10112d57
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x10089d31
mov edx, ebp
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10089d20
jmp 0x10089d9a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10089d34
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x10089d9a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10089d52
mov dx, word [0x1017ba54]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10089d70
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10089d82
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0xe8]
test esi, esi
lea eax, [esp + 0xf0]
jne 0x10089dc5
mov edx, dword [esp + 0x1c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [edx + eax], cl
add eax, 1
test cl, cl
jne 0x10089db4
jmp 0x10089e3a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x10089dc8
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x10089e3a
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x10089df0
mov dx, word [0x1017ba54]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x10089e10
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x10089e22
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
sub dword [esp + 0x14], 1
jns 0x10089ab2
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
jl 0x10089a9e
jmp 0x1008a240
cmp eax, 8
jne 0x1008a240
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1008a240
nop
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
js 0x1008a235
jmp 0x10089ea0
mov eax, dword [esp + 0x14]
imul eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
add ecx, ecx
add ecx, ecx
add eax, ecx
add eax, dword [esp + 0x44]
xor esi, esi
cmp dword [esp + 0x2c], esi
mov dword [esp + 0xe8], eax
mov byte [eax + 3], 0
jle 0x1008a22a
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.1006d330
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.1006d330
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1006d330
mov ecx, dword [esp + 0xe8]
mov ebx, dword [ecx]
mov edi, dword [eax]
push esi
lea ecx, [esp + 0x74]
mov dword [esp + 0x34], ebx
call fcn.1006d330
mov eax, dword [eax]
movzx edx, ah
mov dword [esp + 0x24], edx
movzx edx, bh
and ebx, 0xff
mov dword [esp + 0x28], ebx
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
mov dword [esp + 0x34], edx
and eax, 0xff
mov edx, ecx
sub edx, edi
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], ebx
sub edx, ebp
mov ebx, 0
sets bl
sub ebx, 1
and ebx, edx
mov dword [esp + 0x3c], ebx
mov edx, eax
sub edx, dword [esp + 0x20]
mov ebx, 0
sets bl
add ecx, edi
sub ebx, 1
and edx, ebx
cmp ecx, 0xff
jle 0x10089f8d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x10089fa0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x10089fb2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x10089fe2
cmp edi, ecx
jg 0x10089fe2
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x10089fe2
cmp ecx, ebp
jg 0x10089fe2
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x10089fe2
cmp ecx, eax
jg 0x10089fe2
mov eax, 1
jmp 0x10089fe4
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x10089ffc
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x10089ed0
jmp 0x1008a22a
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x111], eax
mov dword [esp + 0x115], eax
mov dword [esp + 0x119], eax
mov dword [esp + 0x11d], eax
mov dword [esp + 0x121], eax
mov dword [esp + 0x125], eax
mov dword [esp + 0x129], eax
mov word [esp + 0x12d], ax
mov byte [esp + 0x12f], al
mov byte [esp + 0xf0], al
mov dword [esp + 0xf1], eax
mov dword [esp + 0xf5], eax
mov dword [esp + 0xf9], eax
mov dword [esp + 0xfd], eax
mov dword [esp + 0x101], eax
mov dword [esp + 0x105], eax
mov dword [esp + 0x109], eax
mov word [esp + 0x10d], ax
mov byte [esp + 0x10f], al
mov eax, dword [esp + 0x4c]
lea edi, [ecx + eax]
mov eax, dword [esp + 0x14]
lea ebx, [eax + edx]
mov eax, ebp
mov byte [esp + 0x110], 0
lea ecx, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1008a0b0
sub eax, ecx
mov esi, eax
mov eax, dword [esp + 0x1c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1008a0c4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1017bab8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10112d57
push ebx
lea edx, [esp + 0x100]
push 0x1017bab8
push edx
call fcn.10112d57
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1008a121
mov edx, ebp
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1008a110
jmp 0x1008a18a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1008a124
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1008a18a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1008a142
mov dx, word [0x1017ba54]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1008a160
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1008a172
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0xe8]
test esi, esi
lea eax, [esp + 0xf0]
jne 0x1008a1b5
mov edx, dword [esp + 0x1c]
mov ecx, eax
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
add eax, 1
test cl, cl
jne 0x1008a1a4
jmp 0x1008a22a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1008a1b8
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1008a22a
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1008a1e0
mov dx, word [0x1017ba54]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1008a200
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1008a212
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
sub dword [esp + 0x14], 1
jns 0x10089ea0
sub dword [esp + 0x18], 1
jns 0x10089e80
mov edi, dword [esp + 0x40]
cmp byte [edi], 0
mov esi, dword [esp + 0x58]
je 0x1008a2a5
mov al, 0x73
mov byte [esp + 0xe9], al
mov byte [esp + 0xec], al
mov eax, dword [esp + 0x1c]
push eax
push edi
lea ecx, [esp + 0xf0]
push ecx
push esi
mov byte [esp + 0xf8], 0x25
mov byte [esp + 0xfa], 0x7c
mov byte [esp + 0xfb], 0x25
mov byte [esp + 0xfd], 0
call fcn.10112d57
add esp, 0x10
push esi
lea ecx, [esp + 0xd0]
call fcn.100071a0
push esi
call fcn.1011163c
push edi
call fcn.1011163c
mov edx, dword [esp + 0x24]
push edx
call fcn.1011163c
mov eax, dword [esp + 0x50]
push eax
call fcn.1011163c
add esp, 0x10
lea ecx, [esp + 0xcc]
mov dword [esp + 0x44], 0
push ecx
mov esi, dword [esp + 0xa4]
mov ecx, esi
call fcn.10004150
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 4
lea ecx, [esp + 0x80]
call fcn.10070720
mov byte [esp + 0x13c], 3
lea ecx, [esp + 0x90]
call fcn.10070720
mov byte [esp + 0x13c], 2
lea ecx, [esp + 0x60]
call fcn.10070720
mov byte [esp + 0x13c], 1
lea ecx, [esp + 0x70]
call fcn.10070720
mov byte [esp + 0x13c], 0
lea ecx, [esp + 0xcc]
call fcn.10001d10
jmp 0x1008a430
push esi
call fcn.1011163c
add esp, 4
cmp ebp, edi
je 0x1008a367
push ebp
call fcn.1011163c
add esp, 4
cmp ebx, edi
je 0x1008a374
push ebx
call fcn.1011163c
add esp, 4
lea edx, [esp + 0xcc]
push edx
jmp 0x1008a2d8
push 0xffffffffffffffff
push edi
lea eax, [esp + 0xd4]
mov ebx, 0xf
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], edi
push eax
mov ecx, esi
mov byte [esi + 4], 0
call fcn.10003e70
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 0
cmp dword [esp + 0xe4], 0x10
jb 0x1008a41a
mov ecx, dword [esp + 0xd0]
push ecx
jmp 0x1008a412
fstp st(0)
push 0xffffffffffffffff
push edi
lea edx, [esp + 0xd4]
mov ebx, 0xf
mov dword [esi + 0x18], ebx
mov dword [esi + 0x14], edi
push edx
mov ecx, esi
mov byte [esi + 4], 0
call fcn.10003e70
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 0
cmp dword [esp + 0xe4], 0x10
jb 0x1008a41a
mov eax, dword [esp + 0xd0]
push eax
call fcn.10100548
add esp, 4
mov byte [esp + 0xd0], 0
mov dword [esp + 0xe0], edi
mov dword [esp + 0xe4], ebx
mov eax, esi
mov ecx, dword [esp + 0x134]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x11c]
xor ecx, esp
call fcn.10111b17
add esp, 0x12c
ret