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

Disassembly:
push 0xffffffffffffffff
push 0x10164ba6
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 0x1007c10d
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x1007c10f
mov eax, dword [esp + 0x168]
cmp eax, edi
jl 0x10079b8f
cmp eax, 3
jle 0x10079b9b
add eax, 0xfffffffb
cmp eax, 3
ja 0x1007c0c1
push 0x1016b98c
push ebp
call fcn.10102370
add esp, 8
test eax, eax
je 0x10079cd2
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.1003e940
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 0x1007c170
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.10044740
add esp, 0x28
test eax, eax
jne 0x10079d29
lea edx, [esp + 0xcc]
push edx
jmp 0x10079caa
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 0x10079f6b
cmp byte [ebp], 0x40
jne 0x10079de5
add ebp, 1
mov dword [esp + 0x48], edi
cmp ebp, edi
je 0x10079f6b
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.10101de5
add esp, 0x10
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x74]
call fcn.10020870
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x64]
call fcn.10020870
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x94]
call fcn.10020870
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x84]
call fcn.10020870
mov ecx, dword [esp + 0x64]
cmp ecx, edi
je 0x10079ea6
mov eax, dword [esp + 0x68]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x10079eaf
call fcn.10101815
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 0x10079ed4
mov eax, dword [esp + 0x98]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x10079ee0
call fcn.10101815
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 0x10079f05
mov eax, dword [esp + 0x88]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x10079f11
call fcn.10101815
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 0x10079f35
mov eax, dword [esp + 0x78]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x10079f3e
call fcn.10101815
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x40]
push 0x1016b5b4
push ebp
mov dword [ecx + esi*4], eax
call fcn.10102370
mov ebp, eax
add esp, 8
cmp ebp, edi
je 0x10079f5c
add ebp, 1
add esi, 1
cmp ebp, edi
jne 0x10079e00
mov dword [esp + 0x2c], esi
push 0x2ee6
call fcn.100ff548
mov esi, eax
push 0x1772
mov dword [esp + 0x60], esi
call fcn.100ff548
mov ebp, eax
push 0x1772
mov dword [esp + 0x4c], ebp
call fcn.100ff548
add esp, 0xc
cmp esi, edi
mov ebx, eax
mov dword [esp + 0x1c], ebx
je 0x1007c09a
cmp ebp, edi
je 0x1007c091
cmp ebx, edi
je 0x1007c091
push 0x2ee6
push edi
push esi
call fcn.10100550
push 0x1772
push edi
push ebp
call fcn.10100550
push 0x1772
push edi
push ebx
call fcn.10100550
add esp, 0x24
cmp dword [esp + 0x168], edi
jne 0x1007a441
cmp dword [esp + 0xac], edi
mov dword [esp + 0x14], edi
jle 0x1007bf80
mov ecx, dword [esp + 0xa8]
test ecx, ecx
mov dword [esp + 0x18], 0
jle 0x1007a424
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 0x1007a40a
mov ecx, dword [esp + 0x84]
test ecx, ecx
mov edi, dword [esp + 0x28]
je 0x1007a060
mov eax, dword [esp + 0x88]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007a06c
call fcn.10101815
mov ecx, dword [esp + 0x84]
lea ebp, [ecx + edi*4]
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x1007a08a
mov eax, dword [esp + 0x98]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007a08f
call fcn.10101815
mov ecx, dword [esp + 0x64]
test ecx, ecx
mov eax, dword [esp + 0x94]
lea ebx, [eax + edi*4]
je 0x1007a0ae
mov eax, dword [esp + 0x68]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007a0b3
call fcn.10101815
mov ecx, dword [esp + 0x64]
lea esi, [ecx + edi*4]
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x1007a0cf
mov eax, dword [esp + 0x78]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007a0d4
call fcn.10101815
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 0x1007a174
mov edx, 0xff
mov edi, dword [esp + 0x20]
add ebp, edi
cmp ebp, 0xff
jle 0x1007a187
mov ebp, 0xff
mov edi, dword [esp + 0x24]
add ecx, edi
cmp ecx, 0xff
jle 0x1007a19a
mov ecx, 0xff
cmp esi, dword [esp + 0x34]
jl 0x1007a1c8
cmp esi, edx
jg 0x1007a1c8
mov edx, dword [esp + 0x38]
cmp edx, dword [esp + 0x30]
jl 0x1007a1c8
cmp edx, ebp
jg 0x1007a1c8
mov edx, dword [esp + 0xe8]
cmp edx, eax
jl 0x1007a1c8
cmp edx, ecx
jg 0x1007a1c8
mov eax, 1
jmp 0x1007a1ca
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007a1ea
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
jl 0x1007a041
jmp 0x1007a40a
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 0x1007a2a0
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 0x1007a2b4
sub eax, edx
push edi
lea edx, [esp + 0xf4]
push 0x1016b6b8
push edx
mov dword [esp + 0xf4], eax
call fcn.10101330
push ebx
lea eax, [esp + 0x120]
push 0x1016b6b8
push eax
call fcn.10101330
add esp, 0x18
test esi, esi
lea eax, [esp + 0xf0]
jne 0x1007a30e
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 0x1007a300
jmp 0x1007a37a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007a311
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007a37a
mov edi, ebp
add edi, 0xffffffff
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007a330
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 0x1007a350
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007a362
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 0x1007a3a2
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 0x1007a394
jmp 0x1007a40a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007a3a5
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007a40a
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007a3c2
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 0x1007a3e0
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007a3f2
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 0x1007a012
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
jl 0x1007a002
jmp 0x1007bf80
mov eax, dword [esp + 0x168]
cmp eax, 1
jne 0x1007a824
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x1007bf80
mov ecx, dword [esp + 0xa8]
test ecx, ecx
mov dword [esp + 0x18], 0
jle 0x1007a814
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 0x1007a7fa
jmp 0x1007a4b0
push esi
lea ecx, [esp + 0x84]
call fcn.100550c0
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.100550c0
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.100550c0
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.100550c0
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 0x1007a56d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007a580
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007a592
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007a5c2
cmp edi, ecx
jg 0x1007a5c2
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007a5c2
cmp ecx, ebp
jg 0x1007a5c2
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007a5c2
cmp ecx, eax
jg 0x1007a5c2
mov eax, 1
jmp 0x1007a5c4
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007a5dc
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007a4b0
jmp 0x1007a7fa
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 0x1007a690
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 0x1007a6a4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101330
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.10101330
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007a701
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 0x1007a6f0
jmp 0x1007a76a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007a704
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007a76a
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007a720
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 0x1007a740
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007a752
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 0x1007a792
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 0x1007a784
jmp 0x1007a7fa
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007a795
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007a7fa
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007a7b2
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 0x1007a7d0
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007a7e2
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 0x1007a480
sub dword [esp + 0x14], 1
jns 0x1007a46e
jmp 0x1007bf80
cmp eax, 2
jne 0x1007abf4
cmp dword [esp + 0xac], edi
mov dword [esp + 0x14], edi
jle 0x1007bf80
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1007abd7
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 0x1007abcc
lea ecx, [ecx]
push esi
lea ecx, [esp + 0x84]
call fcn.100550c0
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.100550c0
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.100550c0
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.100550c0
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 0x1007a93d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007a950
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007a962
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007a992
cmp edi, ecx
jg 0x1007a992
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007a992
cmp ecx, ebp
jg 0x1007a992
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007a992
cmp ecx, eax
jg 0x1007a992
mov eax, 1
jmp 0x1007a994
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007a9ac
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007a880
jmp 0x1007abcc
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 0x1007aa60
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 0x1007aa74
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101330
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.10101330
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007aad1
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 0x1007aac0
jmp 0x1007ab3a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007aad4
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007ab3a
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007aaf0
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 0x1007ab10
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007ab22
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 0x1007ab65
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 0x1007ab54
jmp 0x1007abcc
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007ab68
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007abcc
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007ab85
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 0x1007aba2
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007abb4
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 0x1007a852
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
jl 0x1007a83e
jmp 0x1007bf80
cmp eax, 3
jne 0x1007afd5
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x1007bf80
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1007afc5
jmp 0x1007ac30
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 0x1007afba
jmp 0x1007ac60
push esi
lea ecx, [esp + 0x84]
call fcn.100550c0
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.100550c0
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.100550c0
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.100550c0
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 0x1007ad1d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007ad30
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007ad42
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007ad72
cmp edi, ecx
jg 0x1007ad72
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007ad72
cmp ecx, ebp
jg 0x1007ad72
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007ad72
cmp ecx, eax
jg 0x1007ad72
mov eax, 1
jmp 0x1007ad74
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007ad8c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007ac60
jmp 0x1007afba
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 0x1007ae40
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 0x1007ae54
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101330
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.10101330
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007aeb1
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 0x1007aea0
jmp 0x1007af1a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007aeb4
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007af1a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007aed1
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 0x1007aef0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007af02
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 0x1007af45
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 0x1007af34
jmp 0x1007afba
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007af48
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007afba
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 0x1007af70
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 0x1007af90
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007afa2
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 0x1007ac30
sub dword [esp + 0x14], 1
jns 0x1007ac13
jmp 0x1007bf80
cmp eax, 5
jne 0x1007b3d1
cmp dword [esp + 0xa8], edi
mov dword [esp + 0x18], edi
jle 0x1007bf80
mov ecx, dword [esp + 0xac]
test ecx, ecx
mov dword [esp + 0x14], 0
jle 0x1007b3b4
jmp 0x1007b010
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 0x1007b39a
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.100550c0
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.100550c0
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.100550c0
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.100550c0
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 0x1007b0fd
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007b110
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007b122
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007b152
cmp edi, ecx
jg 0x1007b152
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007b152
cmp ecx, ebp
jg 0x1007b152
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007b152
cmp ecx, eax
jg 0x1007b152
mov eax, 1
jmp 0x1007b154
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007b16c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007b040
jmp 0x1007b39a
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 0x1007b220
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 0x1007b234
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101330
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.10101330
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007b291
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 0x1007b280
jmp 0x1007b2fa
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b294
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b2fa
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b2b1
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 0x1007b2d0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b2e2
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 0x1007b325
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 0x1007b314
jmp 0x1007b39a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b328
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b39a
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 0x1007b350
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 0x1007b370
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b382
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 0x1007b010
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
jl 0x1007aff6
jmp 0x1007bf80
cmp eax, 6
jne 0x1007b7c4
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x18], eax
jl 0x1007bf80
mov ecx, dword [esp + 0xac]
test ecx, ecx
mov dword [esp + 0x14], 0
jle 0x1007b7b4
jmp 0x1007b410
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 0x1007b79a
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.100550c0
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.100550c0
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.100550c0
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.100550c0
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 0x1007b4fd
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007b510
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007b522
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007b552
cmp edi, ecx
jg 0x1007b552
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007b552
cmp ecx, ebp
jg 0x1007b552
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007b552
cmp ecx, eax
jg 0x1007b552
mov eax, 1
jmp 0x1007b554
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007b56c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007b440
jmp 0x1007b79a
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 0x1007b620
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 0x1007b634
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101330
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.10101330
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007b691
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 0x1007b680
jmp 0x1007b6fa
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b694
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b6fa
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b6b1
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 0x1007b6d0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b6e2
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 0x1007b725
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 0x1007b714
jmp 0x1007b79a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b728
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b79a
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 0x1007b750
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 0x1007b770
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b782
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 0x1007b410
sub dword [esp + 0x18], 1
jns 0x1007b3f7
jmp 0x1007bf80
cmp eax, 7
jne 0x1007bba2
cmp dword [esp + 0xa8], edi
mov dword [esp + 0x18], edi
jle 0x1007bf80
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
js 0x1007bb85
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 0x1007bb7a
push esi
lea ecx, [esp + 0x84]
call fcn.100550c0
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.100550c0
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.100550c0
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.100550c0
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 0x1007b8dd
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007b8f0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007b902
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007b932
cmp edi, ecx
jg 0x1007b932
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007b932
cmp ecx, ebp
jg 0x1007b932
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007b932
cmp ecx, eax
jg 0x1007b932
mov eax, 1
jmp 0x1007b934
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007b94c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007b820
jmp 0x1007bb7a
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 0x1007ba00
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 0x1007ba14
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101330
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.10101330
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007ba71
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 0x1007ba60
jmp 0x1007bada
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007ba74
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007bada
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007ba92
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 0x1007bab0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007bac2
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 0x1007bb05
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 0x1007baf4
jmp 0x1007bb7a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007bb08
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007bb7a
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 0x1007bb30
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 0x1007bb50
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007bb62
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 0x1007b7f2
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
jl 0x1007b7de
jmp 0x1007bf80
cmp eax, 8
jne 0x1007bf80
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1007bf80
nop
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
js 0x1007bf75
jmp 0x1007bbe0
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 0x1007bf6a
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.100550c0
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.100550c0
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.100550c0
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.100550c0
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 0x1007bccd
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007bce0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007bcf2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007bd22
cmp edi, ecx
jg 0x1007bd22
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007bd22
cmp ecx, ebp
jg 0x1007bd22
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007bd22
cmp ecx, eax
jg 0x1007bd22
mov eax, 1
jmp 0x1007bd24
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007bd3c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007bc10
jmp 0x1007bf6a
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 0x1007bdf0
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 0x1007be04
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016b6b8
push ecx
mov dword [esp + 0xf4], eax
call fcn.10101330
push ebx
lea edx, [esp + 0x100]
push 0x1016b6b8
push edx
call fcn.10101330
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007be61
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 0x1007be50
jmp 0x1007beca
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007be64
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007beca
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007be82
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 0x1007bea0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007beb2
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 0x1007bef5
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 0x1007bee4
jmp 0x1007bf6a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007bef8
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007bf6a
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 0x1007bf20
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 0x1007bf40
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007bf52
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 0x1007bbe0
sub dword [esp + 0x18], 1
jns 0x1007bbc0
mov edi, dword [esp + 0x40]
cmp byte [edi], 0
mov esi, dword [esp + 0x58]
je 0x1007bfe5
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.10101330
add esp, 0x10
push esi
lea ecx, [esp + 0xd0]
call fcn.1000c930
push esi
call fcn.100ff60b
push edi
call fcn.100ff60b
mov edx, dword [esp + 0x24]
push edx
call fcn.100ff60b
mov eax, dword [esp + 0x50]
push eax
call fcn.100ff60b
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.1001f0e0
mov byte [esp + 0x13c], 3
lea ecx, [esp + 0x90]
call fcn.1001f0e0
mov byte [esp + 0x13c], 2
lea ecx, [esp + 0x60]
call fcn.1001f0e0
mov byte [esp + 0x13c], 1
lea ecx, [esp + 0x70]
call fcn.1001f0e0
mov byte [esp + 0x13c], 0
lea ecx, [esp + 0xcc]
call fcn.10006120
jmp 0x1007c170
push esi
call fcn.100ff60b
add esp, 4
cmp ebp, edi
je 0x1007c0a7
push ebp
call fcn.100ff60b
add esp, 4
cmp ebx, edi
je 0x1007c0b4
push ebx
call fcn.100ff60b
add esp, 4
lea edx, [esp + 0xcc]
push edx
jmp 0x1007c018
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 0x1007c15a
mov ecx, dword [esp + 0xd0]
push ecx
jmp 0x1007c152
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 0x1007c15a
mov eax, dword [esp + 0xd0]
push eax
call fcn.100ee4bd
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.100ffae6
add esp, 0x12c
ret