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

Disassembly:
push 0xffffffffffffffff
push 0x10164ae6
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x101b7324]
xor eax, esp
mov dword [esp + 0x11c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b7324]
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.100099a0
mov dword [esp + 0x13c], 1
fld qword [0x1016b9a0]
fld qword [esp + 0x160]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x1007c0ad
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x1007c0af
mov eax, dword [esp + 0x168]
cmp eax, edi
jl 0x10079b2f
cmp eax, 3
jle 0x10079b3b
add eax, 0xfffffffb
cmp eax, 3
ja 0x1007c061
push 0x1016b98c
push ebp
call fcn.101022f0
add esp, 8
test eax, eax
je 0x10079c72
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.1003e910
add esp, 8
lea ecx, [esp + 0xcc]
push ecx
mov ecx, esi
call fcn.10009a70
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 0
lea ecx, [esp + 0xcc]
call fcn.10006120
jmp 0x1007c110
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.10044710
add esp, 0x28
test eax, eax
jne 0x10079cc9
lea edx, [esp + 0xcc]
push edx
jmp 0x10079c4a
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 [0x1016b950]
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 0x10079f0b
cmp byte [ebp], 0x40
jne 0x10079d85
add ebp, 1
mov dword [esp + 0x48], edi
cmp ebp, edi
je 0x10079f0b
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.10101d65
add esp, 0x10
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x74]
call fcn.10020840
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x64]
call fcn.10020840
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x94]
call fcn.10020840
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x84]
call fcn.10020840
mov ecx, dword [esp + 0x64]
cmp ecx, edi
je 0x10079e46
mov eax, dword [esp + 0x68]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x10079e4f
call fcn.10101795
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 0x10079e74
mov eax, dword [esp + 0x98]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x10079e80
call fcn.10101795
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 0x10079ea5
mov eax, dword [esp + 0x88]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x10079eb1
call fcn.10101795
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 0x10079ed5
mov eax, dword [esp + 0x78]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x10079ede
call fcn.10101795
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x40]
push 0x1016b5b4
push ebp
mov dword [ecx + esi*4], eax
call fcn.101022f0
mov ebp, eax
add esp, 8
cmp ebp, edi
je 0x10079efc
add ebp, 1
add esi, 1
cmp ebp, edi
jne 0x10079da0
mov dword [esp + 0x2c], esi
push 0x2ee6
call fcn.100ff4c8
mov esi, eax
push 0x1772
mov dword [esp + 0x60], esi
call fcn.100ff4c8
mov ebp, eax
push 0x1772
mov dword [esp + 0x4c], ebp
call fcn.100ff4c8
add esp, 0xc
cmp esi, edi
mov ebx, eax
mov dword [esp + 0x1c], ebx
je 0x1007c03a
cmp ebp, edi
je 0x1007c031
cmp ebx, edi
je 0x1007c031
push 0x2ee6
push edi
push esi
call fcn.101004d0
push 0x1772
push edi
push ebp
call fcn.101004d0
push 0x1772
push edi
push ebx
call fcn.101004d0
add esp, 0x24
cmp dword [esp + 0x168], edi
jne 0x1007a3e1
cmp dword [esp + 0xac], edi
mov dword [esp + 0x14], edi
jle 0x1007bf20
mov ecx, dword [esp + 0xa8]
test ecx, ecx
mov dword [esp + 0x18], 0
jle 0x1007a3c4
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 0x1007a3aa
mov ecx, dword [esp + 0x84]
test ecx, ecx
mov edi, dword [esp + 0x28]
je 0x1007a000
mov eax, dword [esp + 0x88]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007a00c
call fcn.10101795
mov ecx, dword [esp + 0x84]
lea ebp, [ecx + edi*4]
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x1007a02a
mov eax, dword [esp + 0x98]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007a02f
call fcn.10101795
mov ecx, dword [esp + 0x64]
test ecx, ecx
mov eax, dword [esp + 0x94]
lea ebx, [eax + edi*4]
je 0x1007a04e
mov eax, dword [esp + 0x68]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007a053
call fcn.10101795
mov ecx, dword [esp + 0x64]
lea esi, [ecx + edi*4]
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x1007a06f
mov eax, dword [esp + 0x78]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007a074
call fcn.10101795
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 0x1007a114
mov edx, 0xff
mov edi, dword [esp + 0x20]
add ebp, edi
cmp ebp, 0xff
jle 0x1007a127
mov ebp, 0xff
mov edi, dword [esp + 0x24]
add ecx, edi
cmp ecx, 0xff
jle 0x1007a13a
mov ecx, 0xff
cmp esi, dword [esp + 0x34]
jl 0x1007a168
cmp esi, edx
jg 0x1007a168
mov edx, dword [esp + 0x38]
cmp edx, dword [esp + 0x30]
jl 0x1007a168
cmp edx, ebp
jg 0x1007a168
mov edx, dword [esp + 0xe8]
cmp edx, eax
jl 0x1007a168
cmp edx, ecx
jg 0x1007a168
mov eax, 1
jmp 0x1007a16a
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007a18a
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
jl 0x10079fe1
jmp 0x1007a3aa
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 0x1007a240
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 0x1007a254
sub eax, edx
push edi
lea edx, [esp + 0xf4]
push 0x1016b6b8
push edx
mov dword [esp + 0xf4], eax
call fcn.101012b0
push ebx
lea eax, [esp + 0x120]
push 0x1016b6b8
push eax
call fcn.101012b0
add esp, 0x18
test esi, esi
lea eax, [esp + 0xf0]
jne 0x1007a2ae
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 0x1007a2a0
jmp 0x1007a31a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007a2b1
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007a31a
mov edi, ebp
add edi, 0xffffffff
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007a2d0
mov dx, word [0x1016b5d0]
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 0x1007a2f0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007a302
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 0x1007a342
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 0x1007a334
jmp 0x1007a3aa
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007a345
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007a3aa
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007a362
mov dx, word [0x1016b5d0]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007a380
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007a392
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 0x10079fb2
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
jl 0x10079fa2
jmp 0x1007bf20
mov eax, dword [esp + 0x168]
cmp eax, 1
jne 0x1007a7c4
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x1007bf20
mov ecx, dword [esp + 0xa8]
test ecx, ecx
mov dword [esp + 0x18], 0
jle 0x1007a7b4
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 0x1007a79a
jmp 0x1007a450
push esi
lea ecx, [esp + 0x84]
call fcn.10059610
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.10059610
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059610
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.10059610
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 0x1007a50d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007a520
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007a532
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007a562
cmp edi, ecx
jg 0x1007a562
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007a562
cmp ecx, ebp
jg 0x1007a562
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007a562
cmp ecx, eax
jg 0x1007a562
mov eax, 1
jmp 0x1007a564
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007a57c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007a450
jmp 0x1007a79a
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 0x1007a630
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 0x1007a644
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.101012b0
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.101012b0
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007a6a1
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 0x1007a690
jmp 0x1007a70a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007a6a4
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007a70a
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007a6c0
mov dx, word [0x1016b5d0]
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 0x1007a6e0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007a6f2
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 0x1007a732
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 0x1007a724
jmp 0x1007a79a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007a735
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007a79a
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007a752
mov dx, word [0x1016b5d0]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007a770
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007a782
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 0x1007a420
sub dword [esp + 0x14], 1
jns 0x1007a40e
jmp 0x1007bf20
cmp eax, 2
jne 0x1007ab94
cmp dword [esp + 0xac], edi
mov dword [esp + 0x14], edi
jle 0x1007bf20
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1007ab77
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 0x1007ab6c
lea ecx, [ecx]
push esi
lea ecx, [esp + 0x84]
call fcn.10059610
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.10059610
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059610
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.10059610
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 0x1007a8dd
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007a8f0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007a902
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007a932
cmp edi, ecx
jg 0x1007a932
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007a932
cmp ecx, ebp
jg 0x1007a932
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007a932
cmp ecx, eax
jg 0x1007a932
mov eax, 1
jmp 0x1007a934
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007a94c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007a820
jmp 0x1007ab6c
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 0x1007aa00
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 0x1007aa14
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.101012b0
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.101012b0
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007aa71
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 0x1007aa60
jmp 0x1007aada
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007aa74
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007aada
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007aa90
mov dx, word [0x1016b5d0]
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 0x1007aab0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007aac2
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 0x1007ab05
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 0x1007aaf4
jmp 0x1007ab6c
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007ab08
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007ab6c
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007ab25
mov dx, word [0x1016b5d0]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007ab42
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007ab54
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 0x1007a7f2
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
jl 0x1007a7de
jmp 0x1007bf20
cmp eax, 3
jne 0x1007af75
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x1007bf20
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1007af65
jmp 0x1007abd0
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 0x1007af5a
jmp 0x1007ac00
push esi
lea ecx, [esp + 0x84]
call fcn.10059610
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.10059610
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059610
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.10059610
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 0x1007acbd
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007acd0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007ace2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007ad12
cmp edi, ecx
jg 0x1007ad12
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007ad12
cmp ecx, ebp
jg 0x1007ad12
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007ad12
cmp ecx, eax
jg 0x1007ad12
mov eax, 1
jmp 0x1007ad14
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007ad2c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007ac00
jmp 0x1007af5a
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 0x1007ade0
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 0x1007adf4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.101012b0
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.101012b0
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007ae51
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 0x1007ae40
jmp 0x1007aeba
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007ae54
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007aeba
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007ae71
mov dx, word [0x1016b5d0]
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 0x1007ae90
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007aea2
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 0x1007aee5
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 0x1007aed4
jmp 0x1007af5a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007aee8
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007af5a
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 0x1007af10
mov dx, word [0x1016b5d0]
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 0x1007af30
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007af42
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 0x1007abd0
sub dword [esp + 0x14], 1
jns 0x1007abb3
jmp 0x1007bf20
cmp eax, 5
jne 0x1007b371
cmp dword [esp + 0xa8], edi
mov dword [esp + 0x18], edi
jle 0x1007bf20
mov ecx, dword [esp + 0xac]
test ecx, ecx
mov dword [esp + 0x14], 0
jle 0x1007b354
jmp 0x1007afb0
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 0x1007b33a
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.10059610
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.10059610
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059610
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.10059610
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 0x1007b09d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007b0b0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007b0c2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007b0f2
cmp edi, ecx
jg 0x1007b0f2
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007b0f2
cmp ecx, ebp
jg 0x1007b0f2
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007b0f2
cmp ecx, eax
jg 0x1007b0f2
mov eax, 1
jmp 0x1007b0f4
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007b10c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007afe0
jmp 0x1007b33a
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 0x1007b1c0
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 0x1007b1d4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.101012b0
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.101012b0
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007b231
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 0x1007b220
jmp 0x1007b29a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b234
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b29a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b251
mov dx, word [0x1016b5d0]
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 0x1007b270
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b282
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 0x1007b2c5
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 0x1007b2b4
jmp 0x1007b33a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b2c8
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b33a
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 0x1007b2f0
mov dx, word [0x1016b5d0]
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 0x1007b310
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b322
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 0x1007afb0
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
jl 0x1007af96
jmp 0x1007bf20
cmp eax, 6
jne 0x1007b764
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x18], eax
jl 0x1007bf20
mov ecx, dword [esp + 0xac]
test ecx, ecx
mov dword [esp + 0x14], 0
jle 0x1007b754
jmp 0x1007b3b0
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 0x1007b73a
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.10059610
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.10059610
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059610
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.10059610
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 0x1007b49d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007b4b0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007b4c2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007b4f2
cmp edi, ecx
jg 0x1007b4f2
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007b4f2
cmp ecx, ebp
jg 0x1007b4f2
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007b4f2
cmp ecx, eax
jg 0x1007b4f2
mov eax, 1
jmp 0x1007b4f4
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007b50c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007b3e0
jmp 0x1007b73a
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 0x1007b5c0
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 0x1007b5d4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.101012b0
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.101012b0
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007b631
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 0x1007b620
jmp 0x1007b69a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b634
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b69a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b651
mov dx, word [0x1016b5d0]
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 0x1007b670
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b682
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 0x1007b6c5
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 0x1007b6b4
jmp 0x1007b73a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b6c8
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b73a
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 0x1007b6f0
mov dx, word [0x1016b5d0]
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 0x1007b710
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b722
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 0x1007b3b0
sub dword [esp + 0x18], 1
jns 0x1007b397
jmp 0x1007bf20
cmp eax, 7
jne 0x1007bb42
cmp dword [esp + 0xa8], edi
mov dword [esp + 0x18], edi
jle 0x1007bf20
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
js 0x1007bb25
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 0x1007bb1a
push esi
lea ecx, [esp + 0x84]
call fcn.10059610
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.10059610
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059610
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.10059610
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 0x1007b87d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007b890
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007b8a2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007b8d2
cmp edi, ecx
jg 0x1007b8d2
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007b8d2
cmp ecx, ebp
jg 0x1007b8d2
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007b8d2
cmp ecx, eax
jg 0x1007b8d2
mov eax, 1
jmp 0x1007b8d4
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007b8ec
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007b7c0
jmp 0x1007bb1a
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 0x1007b9a0
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 0x1007b9b4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.101012b0
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.101012b0
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007ba11
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 0x1007ba00
jmp 0x1007ba7a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007ba14
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007ba7a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007ba32
mov dx, word [0x1016b5d0]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007ba50
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007ba62
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 0x1007baa5
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 0x1007ba94
jmp 0x1007bb1a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007baa8
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007bb1a
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 0x1007bad0
mov dx, word [0x1016b5d0]
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 0x1007baf0
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007bb02
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 0x1007b792
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
jl 0x1007b77e
jmp 0x1007bf20
cmp eax, 8
jne 0x1007bf20
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1007bf20
nop
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
js 0x1007bf15
jmp 0x1007bb80
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 0x1007bf0a
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.10059610
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.10059610
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059610
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.10059610
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 0x1007bc6d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007bc80
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007bc92
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007bcc2
cmp edi, ecx
jg 0x1007bcc2
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007bcc2
cmp ecx, ebp
jg 0x1007bcc2
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007bcc2
cmp ecx, eax
jg 0x1007bcc2
mov eax, 1
jmp 0x1007bcc4
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007bcdc
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007bbb0
jmp 0x1007bf0a
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 0x1007bd90
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 0x1007bda4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.101012b0
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.101012b0
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007be01
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 0x1007bdf0
jmp 0x1007be6a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007be04
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007be6a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007be22
mov dx, word [0x1016b5d0]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007be40
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007be52
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 0x1007be95
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 0x1007be84
jmp 0x1007bf0a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007be98
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007bf0a
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 0x1007bec0
mov dx, word [0x1016b5d0]
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 0x1007bee0
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007bef2
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 0x1007bb80
sub dword [esp + 0x18], 1
jns 0x1007bb60
mov edi, dword [esp + 0x40]
cmp byte [edi], 0
mov esi, dword [esp + 0x58]
je 0x1007bf85
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.101012b0
add esp, 0x10
push esi
lea ecx, [esp + 0xd0]
call fcn.1000c930
push esi
call fcn.100ff58b
push edi
call fcn.100ff58b
mov edx, dword [esp + 0x24]
push edx
call fcn.100ff58b
mov eax, dword [esp + 0x50]
push eax
call fcn.100ff58b
add esp, 0x10
lea ecx, [esp + 0xcc]
mov dword [esp + 0x44], 0
push ecx
mov esi, dword [esp + 0xa4]
mov ecx, esi
call fcn.10009a70
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 4
lea ecx, [esp + 0x80]
call fcn.1005a7b0
mov byte [esp + 0x13c], 3
lea ecx, [esp + 0x90]
call fcn.1005a7b0
mov byte [esp + 0x13c], 2
lea ecx, [esp + 0x60]
call fcn.1005a7b0
mov byte [esp + 0x13c], 1
lea ecx, [esp + 0x70]
call fcn.1005a7b0
mov byte [esp + 0x13c], 0
lea ecx, [esp + 0xcc]
call fcn.10006120
jmp 0x1007c110
push esi
call fcn.100ff58b
add esp, 4
cmp ebp, edi
je 0x1007c047
push ebp
call fcn.100ff58b
add esp, 4
cmp ebx, edi
je 0x1007c054
push ebx
call fcn.100ff58b
add esp, 4
lea edx, [esp + 0xcc]
push edx
jmp 0x1007bfb8
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.10009790
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 0
cmp dword [esp + 0xe4], 0x10
jb 0x1007c0fa
mov ecx, dword [esp + 0xd0]
push ecx
jmp 0x1007c0f2
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.10009790
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 0
cmp dword [esp + 0xe4], 0x10
jb 0x1007c0fa
mov eax, dword [esp + 0xd0]
push eax
call fcn.100ee438
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.100ffa66
add esp, 0x12c
ret