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

Disassembly:
push 0xffffffffffffffff
push 0x10165526
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x101b734c]
xor eax, esp
mov dword [esp + 0x11c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b734c]
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 0x1016aa44
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.10009d90
mov dword [esp + 0x13c], 1
fld qword [0x1016b598]
fld qword [esp + 0x160]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x1007cf4d
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x1007cf4f
mov eax, dword [esp + 0x168]
cmp eax, edi
jl 0x1007a9cf
cmp eax, 3
jle 0x1007a9db
add eax, 0xfffffffb
cmp eax, 3
ja 0x1007cf01
push 0x1016b994
push ebp
call fcn.10102c50
add esp, 8
test eax, eax
je 0x1007ab12
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.1003f300
add esp, 8
lea ecx, [esp + 0xcc]
push ecx
mov ecx, esi
call fcn.10009e60
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 0
lea ecx, [esp + 0xcc]
call fcn.10006110
jmp 0x1007cfb0
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.10045150
add esp, 0x28
test eax, eax
jne 0x1007ab69
lea edx, [esp + 0xcc]
push edx
jmp 0x1007aaea
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 [0x1016b960]
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 0x1007adab
cmp byte [ebp], 0x40
jne 0x1007ac25
add ebp, 1
mov dword [esp + 0x48], edi
cmp ebp, edi
je 0x1007adab
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.101026c5
add esp, 0x10
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x74]
call fcn.10070710
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x64]
call fcn.10070710
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x94]
call fcn.10070710
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x84]
call fcn.10070710
mov ecx, dword [esp + 0x64]
cmp ecx, edi
je 0x1007ace6
mov eax, dword [esp + 0x68]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x1007acef
call fcn.101020f5
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 0x1007ad14
mov eax, dword [esp + 0x98]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x1007ad20
call fcn.101020f5
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 0x1007ad45
mov eax, dword [esp + 0x88]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x1007ad51
call fcn.101020f5
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 0x1007ad75
mov eax, dword [esp + 0x78]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x1007ad7e
call fcn.101020f5
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x40]
push 0x1016b58c
push ebp
mov dword [ecx + esi*4], eax
call fcn.10102c50
mov ebp, eax
add esp, 8
cmp ebp, edi
je 0x1007ad9c
add ebp, 1
add esi, 1
cmp ebp, edi
jne 0x1007ac40
mov dword [esp + 0x2c], esi
push 0x2ee6
call fcn.100ffe35
mov esi, eax
push 0x1772
mov dword [esp + 0x60], esi
call fcn.100ffe35
mov ebp, eax
push 0x1772
mov dword [esp + 0x4c], ebp
call fcn.100ffe35
add esp, 0xc
cmp esi, edi
mov ebx, eax
mov dword [esp + 0x1c], ebx
je 0x1007ceda
cmp ebp, edi
je 0x1007ced1
cmp ebx, edi
je 0x1007ced1
push 0x2ee6
push edi
push esi
call fcn.10100e30
push 0x1772
push edi
push ebp
call fcn.10100e30
push 0x1772
push edi
push ebx
call fcn.10100e30
add esp, 0x24
cmp dword [esp + 0x168], edi
jne 0x1007b281
cmp dword [esp + 0xac], edi
mov dword [esp + 0x14], edi
jle 0x1007cdc0
mov ecx, dword [esp + 0xa8]
test ecx, ecx
mov dword [esp + 0x18], 0
jle 0x1007b264
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 0x1007b24a
mov ecx, dword [esp + 0x84]
test ecx, ecx
mov edi, dword [esp + 0x28]
je 0x1007aea0
mov eax, dword [esp + 0x88]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007aeac
call fcn.101020f5
mov ecx, dword [esp + 0x84]
lea ebp, [ecx + edi*4]
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x1007aeca
mov eax, dword [esp + 0x98]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007aecf
call fcn.101020f5
mov ecx, dword [esp + 0x64]
test ecx, ecx
mov eax, dword [esp + 0x94]
lea ebx, [eax + edi*4]
je 0x1007aeee
mov eax, dword [esp + 0x68]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007aef3
call fcn.101020f5
mov ecx, dword [esp + 0x64]
lea esi, [ecx + edi*4]
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x1007af0f
mov eax, dword [esp + 0x78]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007af14
call fcn.101020f5
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 0x1007afb4
mov edx, 0xff
mov edi, dword [esp + 0x20]
add ebp, edi
cmp ebp, 0xff
jle 0x1007afc7
mov ebp, 0xff
mov edi, dword [esp + 0x24]
add ecx, edi
cmp ecx, 0xff
jle 0x1007afda
mov ecx, 0xff
cmp esi, dword [esp + 0x34]
jl 0x1007b008
cmp esi, edx
jg 0x1007b008
mov edx, dword [esp + 0x38]
cmp edx, dword [esp + 0x30]
jl 0x1007b008
cmp edx, ebp
jg 0x1007b008
mov edx, dword [esp + 0xe8]
cmp edx, eax
jl 0x1007b008
cmp edx, ecx
jg 0x1007b008
mov eax, 1
jmp 0x1007b00a
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007b02a
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
jl 0x1007ae81
jmp 0x1007b24a
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 0x1007b0e0
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 0x1007b0f4
sub eax, edx
push edi
lea edx, [esp + 0xf4]
push 0x1016b6c8
push edx
mov dword [esp + 0xf4], eax
call fcn.10101c10
push ebx
lea eax, [esp + 0x120]
push 0x1016b6c8
push eax
call fcn.10101c10
add esp, 0x18
test esi, esi
lea eax, [esp + 0xf0]
jne 0x1007b14e
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 0x1007b140
jmp 0x1007b1ba
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b151
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b1ba
mov edi, ebp
add edi, 0xffffffff
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b170
mov dx, word [0x1016b5e4]
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 0x1007b190
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b1a2
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 0x1007b1e2
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 0x1007b1d4
jmp 0x1007b24a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b1e5
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b24a
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b202
mov dx, word [0x1016b5e4]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007b220
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b232
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 0x1007ae52
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
jl 0x1007ae42
jmp 0x1007cdc0
mov eax, dword [esp + 0x168]
cmp eax, 1
jne 0x1007b664
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x1007cdc0
mov ecx, dword [esp + 0xa8]
test ecx, ecx
mov dword [esp + 0x18], 0
jle 0x1007b654
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 0x1007b63a
jmp 0x1007b2f0
push esi
lea ecx, [esp + 0x84]
call fcn.1005a150
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.1005a150
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1005a150
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.1005a150
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 0x1007b3ad
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007b3c0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007b3d2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007b402
cmp edi, ecx
jg 0x1007b402
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007b402
cmp ecx, ebp
jg 0x1007b402
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007b402
cmp ecx, eax
jg 0x1007b402
mov eax, 1
jmp 0x1007b404
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007b41c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007b2f0
jmp 0x1007b63a
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 0x1007b4d0
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 0x1007b4e4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6c8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101c10
push ebx
lea edx, [esp + 0x100]
push 0x1016b6c8
push edx
call fcn.10101c10
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007b541
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 0x1007b530
jmp 0x1007b5aa
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b544
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b5aa
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b560
mov dx, word [0x1016b5e4]
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 0x1007b580
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b592
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 0x1007b5d2
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 0x1007b5c4
jmp 0x1007b63a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b5d5
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b63a
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b5f2
mov dx, word [0x1016b5e4]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007b610
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b622
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 0x1007b2c0
sub dword [esp + 0x14], 1
jns 0x1007b2ae
jmp 0x1007cdc0
cmp eax, 2
jne 0x1007ba34
cmp dword [esp + 0xac], edi
mov dword [esp + 0x14], edi
jle 0x1007cdc0
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1007ba17
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 0x1007ba0c
lea ecx, [ecx]
push esi
lea ecx, [esp + 0x84]
call fcn.1005a150
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.1005a150
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1005a150
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.1005a150
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 0x1007b77d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007b790
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007b7a2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007b7d2
cmp edi, ecx
jg 0x1007b7d2
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007b7d2
cmp ecx, ebp
jg 0x1007b7d2
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007b7d2
cmp ecx, eax
jg 0x1007b7d2
mov eax, 1
jmp 0x1007b7d4
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007b7ec
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007b6c0
jmp 0x1007ba0c
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 0x1007b8a0
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 0x1007b8b4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6c8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101c10
push ebx
lea edx, [esp + 0x100]
push 0x1016b6c8
push edx
call fcn.10101c10
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007b911
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 0x1007b900
jmp 0x1007b97a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b914
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b97a
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b930
mov dx, word [0x1016b5e4]
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 0x1007b950
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b962
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 0x1007b9a5
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 0x1007b994
jmp 0x1007ba0c
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b9a8
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007ba0c
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b9c5
mov dx, word [0x1016b5e4]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007b9e2
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b9f4
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 0x1007b692
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
jl 0x1007b67e
jmp 0x1007cdc0
cmp eax, 3
jne 0x1007be15
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x1007cdc0
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1007be05
jmp 0x1007ba70
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 0x1007bdfa
jmp 0x1007baa0
push esi
lea ecx, [esp + 0x84]
call fcn.1005a150
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.1005a150
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1005a150
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.1005a150
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 0x1007bb5d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007bb70
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007bb82
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007bbb2
cmp edi, ecx
jg 0x1007bbb2
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007bbb2
cmp ecx, ebp
jg 0x1007bbb2
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007bbb2
cmp ecx, eax
jg 0x1007bbb2
mov eax, 1
jmp 0x1007bbb4
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007bbcc
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007baa0
jmp 0x1007bdfa
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 0x1007bc80
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 0x1007bc94
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6c8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101c10
push ebx
lea edx, [esp + 0x100]
push 0x1016b6c8
push edx
call fcn.10101c10
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007bcf1
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 0x1007bce0
jmp 0x1007bd5a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007bcf4
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007bd5a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007bd11
mov dx, word [0x1016b5e4]
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 0x1007bd30
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007bd42
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 0x1007bd85
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 0x1007bd74
jmp 0x1007bdfa
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007bd88
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007bdfa
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 0x1007bdb0
mov dx, word [0x1016b5e4]
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 0x1007bdd0
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007bde2
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 0x1007ba70
sub dword [esp + 0x14], 1
jns 0x1007ba53
jmp 0x1007cdc0
cmp eax, 5
jne 0x1007c211
cmp dword [esp + 0xa8], edi
mov dword [esp + 0x18], edi
jle 0x1007cdc0
mov ecx, dword [esp + 0xac]
test ecx, ecx
mov dword [esp + 0x14], 0
jle 0x1007c1f4
jmp 0x1007be50
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 0x1007c1da
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.1005a150
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.1005a150
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1005a150
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.1005a150
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 0x1007bf3d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007bf50
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007bf62
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007bf92
cmp edi, ecx
jg 0x1007bf92
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007bf92
cmp ecx, ebp
jg 0x1007bf92
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007bf92
cmp ecx, eax
jg 0x1007bf92
mov eax, 1
jmp 0x1007bf94
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007bfac
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007be80
jmp 0x1007c1da
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 0x1007c060
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 0x1007c074
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6c8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101c10
push ebx
lea edx, [esp + 0x100]
push 0x1016b6c8
push edx
call fcn.10101c10
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007c0d1
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 0x1007c0c0
jmp 0x1007c13a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007c0d4
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007c13a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007c0f1
mov dx, word [0x1016b5e4]
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 0x1007c110
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007c122
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 0x1007c165
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 0x1007c154
jmp 0x1007c1da
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007c168
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007c1da
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 0x1007c190
mov dx, word [0x1016b5e4]
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 0x1007c1b0
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007c1c2
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 0x1007be50
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
jl 0x1007be36
jmp 0x1007cdc0
cmp eax, 6
jne 0x1007c604
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x18], eax
jl 0x1007cdc0
mov ecx, dword [esp + 0xac]
test ecx, ecx
mov dword [esp + 0x14], 0
jle 0x1007c5f4
jmp 0x1007c250
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 0x1007c5da
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.1005a150
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.1005a150
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1005a150
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.1005a150
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 0x1007c33d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007c350
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007c362
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007c392
cmp edi, ecx
jg 0x1007c392
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007c392
cmp ecx, ebp
jg 0x1007c392
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007c392
cmp ecx, eax
jg 0x1007c392
mov eax, 1
jmp 0x1007c394
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007c3ac
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007c280
jmp 0x1007c5da
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 0x1007c460
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 0x1007c474
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6c8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101c10
push ebx
lea edx, [esp + 0x100]
push 0x1016b6c8
push edx
call fcn.10101c10
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007c4d1
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 0x1007c4c0
jmp 0x1007c53a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007c4d4
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007c53a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007c4f1
mov dx, word [0x1016b5e4]
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 0x1007c510
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007c522
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 0x1007c565
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 0x1007c554
jmp 0x1007c5da
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007c568
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007c5da
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 0x1007c590
mov dx, word [0x1016b5e4]
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 0x1007c5b0
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007c5c2
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 0x1007c250
sub dword [esp + 0x18], 1
jns 0x1007c237
jmp 0x1007cdc0
cmp eax, 7
jne 0x1007c9e2
cmp dword [esp + 0xa8], edi
mov dword [esp + 0x18], edi
jle 0x1007cdc0
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
js 0x1007c9c5
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 0x1007c9ba
push esi
lea ecx, [esp + 0x84]
call fcn.1005a150
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.1005a150
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1005a150
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.1005a150
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 0x1007c71d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007c730
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007c742
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007c772
cmp edi, ecx
jg 0x1007c772
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007c772
cmp ecx, ebp
jg 0x1007c772
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007c772
cmp ecx, eax
jg 0x1007c772
mov eax, 1
jmp 0x1007c774
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007c78c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007c660
jmp 0x1007c9ba
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 0x1007c840
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 0x1007c854
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6c8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101c10
push ebx
lea edx, [esp + 0x100]
push 0x1016b6c8
push edx
call fcn.10101c10
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007c8b1
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 0x1007c8a0
jmp 0x1007c91a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007c8b4
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007c91a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007c8d2
mov dx, word [0x1016b5e4]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007c8f0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007c902
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 0x1007c945
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 0x1007c934
jmp 0x1007c9ba
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007c948
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007c9ba
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 0x1007c970
mov dx, word [0x1016b5e4]
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 0x1007c990
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007c9a2
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 0x1007c632
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
jl 0x1007c61e
jmp 0x1007cdc0
cmp eax, 8
jne 0x1007cdc0
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1007cdc0
nop
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
js 0x1007cdb5
jmp 0x1007ca20
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 0x1007cdaa
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.1005a150
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.1005a150
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.1005a150
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.1005a150
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 0x1007cb0d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007cb20
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007cb32
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007cb62
cmp edi, ecx
jg 0x1007cb62
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007cb62
cmp ecx, ebp
jg 0x1007cb62
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007cb62
cmp ecx, eax
jg 0x1007cb62
mov eax, 1
jmp 0x1007cb64
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007cb7c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007ca50
jmp 0x1007cdaa
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 0x1007cc30
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 0x1007cc44
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6c8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101c10
push ebx
lea edx, [esp + 0x100]
push 0x1016b6c8
push edx
call fcn.10101c10
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007cca1
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 0x1007cc90
jmp 0x1007cd0a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007cca4
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007cd0a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007ccc2
mov dx, word [0x1016b5e4]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007cce0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007ccf2
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 0x1007cd35
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 0x1007cd24
jmp 0x1007cdaa
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007cd38
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007cdaa
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 0x1007cd60
mov dx, word [0x1016b5e4]
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 0x1007cd80
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007cd92
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 0x1007ca20
sub dword [esp + 0x18], 1
jns 0x1007ca00
mov edi, dword [esp + 0x40]
cmp byte [edi], 0
mov esi, dword [esp + 0x58]
je 0x1007ce25
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.10101c10
add esp, 0x10
push esi
lea ecx, [esp + 0xd0]
call fcn.1000d280
push esi
call fcn.100ffef8
push edi
call fcn.100ffef8
mov edx, dword [esp + 0x24]
push edx
call fcn.100ffef8
mov eax, dword [esp + 0x50]
push eax
call fcn.100ffef8
add esp, 0x10
lea ecx, [esp + 0xcc]
mov dword [esp + 0x44], 0
push ecx
mov esi, dword [esp + 0xa4]
mov ecx, esi
call fcn.10009e60
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 4
lea ecx, [esp + 0x80]
call fcn.1000d2b0
mov byte [esp + 0x13c], 3
lea ecx, [esp + 0x90]
call fcn.1000d2b0
mov byte [esp + 0x13c], 2
lea ecx, [esp + 0x60]
call fcn.1000d2b0
mov byte [esp + 0x13c], 1
lea ecx, [esp + 0x70]
call fcn.1000d2b0
mov byte [esp + 0x13c], 0
lea ecx, [esp + 0xcc]
call fcn.10006110
jmp 0x1007cfb0
push esi
call fcn.100ffef8
add esp, 4
cmp ebp, edi
je 0x1007cee7
push ebp
call fcn.100ffef8
add esp, 4
cmp ebx, edi
je 0x1007cef4
push ebx
call fcn.100ffef8
add esp, 4
lea edx, [esp + 0xcc]
push edx
jmp 0x1007ce58
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.10009b80
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 0
cmp dword [esp + 0xe4], 0x10
jb 0x1007cf9a
mov ecx, dword [esp + 0xd0]
push ecx
jmp 0x1007cf92
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.10009b80
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 0
cmp dword [esp + 0xe4], 0x10
jb 0x1007cf9a
mov eax, dword [esp + 0xd0]
push eax
call fcn.100eedad
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.101003d3
add esp, 0x12c
ret