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

Disassembly:
push 0xffffffffffffffff
push 0x10164776
mov eax, dword fs:[0]
push eax
sub esp, 0x120
mov eax, dword [0x101b629c]
xor eax, esp
mov dword [esp + 0x11c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b629c]
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 0x10169a34
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.100099d0
mov dword [esp + 0x13c], 1
fld qword [0x1016a978]
fld qword [esp + 0x160]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jnp 0x1007c3fd
fld1
fcompp
fnstsw ax
test ah, 5
jnp 0x1007c3ff
mov eax, dword [esp + 0x168]
cmp eax, edi
jl 0x10079e7f
cmp eax, 3
jle 0x10079e8b
add eax, 0xfffffffb
cmp eax, 3
ja 0x1007c3b1
push 0x1016a964
push ebp
call fcn.10101f80
add esp, 8
test eax, eax
je 0x10079fc2
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.1003e930
add esp, 8
lea ecx, [esp + 0xcc]
push ecx
mov ecx, esi
call fcn.10009aa0
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 0
lea ecx, [esp + 0xcc]
call fcn.10006120
jmp 0x1007c460
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.10044770
add esp, 0x28
test eax, eax
jne 0x1007a019
lea edx, [esp + 0xcc]
push edx
jmp 0x10079f9a
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 [0x1016a928]
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 0x1007a25b
cmp byte [ebp], 0x40
jne 0x1007a0d5
add ebp, 1
mov dword [esp + 0x48], edi
cmp ebp, edi
je 0x1007a25b
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.101019f5
add esp, 0x10
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x74]
call fcn.1006fbc0
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x64]
call fcn.1006fbc0
lea edx, [esp + 0x20]
push edx
lea ecx, [esp + 0x94]
call fcn.1006fbc0
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x84]
call fcn.1006fbc0
mov ecx, dword [esp + 0x64]
cmp ecx, edi
je 0x1007a196
mov eax, dword [esp + 0x68]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x1007a19f
call fcn.10101425
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 0x1007a1c4
mov eax, dword [esp + 0x98]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x1007a1d0
call fcn.10101425
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 0x1007a1f5
mov eax, dword [esp + 0x88]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x1007a201
call fcn.10101425
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 0x1007a225
mov eax, dword [esp + 0x78]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x1007a22e
call fcn.10101425
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x40]
push 0x1016a58c
push ebp
mov dword [ecx + esi*4], eax
call fcn.10101f80
mov ebp, eax
add esp, 8
cmp ebp, edi
je 0x1007a24c
add ebp, 1
add esi, 1
cmp ebp, edi
jne 0x1007a0f0
mov dword [esp + 0x2c], esi
push 0x2ee6
call fcn.100ff166
mov esi, eax
push 0x1772
mov dword [esp + 0x60], esi
call fcn.100ff166
mov ebp, eax
push 0x1772
mov dword [esp + 0x4c], ebp
call fcn.100ff166
add esp, 0xc
cmp esi, edi
mov ebx, eax
mov dword [esp + 0x1c], ebx
je 0x1007c38a
cmp ebp, edi
je 0x1007c381
cmp ebx, edi
je 0x1007c381
push 0x2ee6
push edi
push esi
call fcn.10100160
push 0x1772
push edi
push ebp
call fcn.10100160
push 0x1772
push edi
push ebx
call fcn.10100160
add esp, 0x24
cmp dword [esp + 0x168], edi
jne 0x1007a731
cmp dword [esp + 0xac], edi
mov dword [esp + 0x14], edi
jle 0x1007c270
mov ecx, dword [esp + 0xa8]
test ecx, ecx
mov dword [esp + 0x18], 0
jle 0x1007a714
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 0x1007a6fa
mov ecx, dword [esp + 0x84]
test ecx, ecx
mov edi, dword [esp + 0x28]
je 0x1007a350
mov eax, dword [esp + 0x88]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007a35c
call fcn.10101425
mov ecx, dword [esp + 0x84]
lea ebp, [ecx + edi*4]
mov ecx, dword [esp + 0x94]
test ecx, ecx
je 0x1007a37a
mov eax, dword [esp + 0x98]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007a37f
call fcn.10101425
mov ecx, dword [esp + 0x64]
test ecx, ecx
mov eax, dword [esp + 0x94]
lea ebx, [eax + edi*4]
je 0x1007a39e
mov eax, dword [esp + 0x68]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007a3a3
call fcn.10101425
mov ecx, dword [esp + 0x64]
lea esi, [ecx + edi*4]
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x1007a3bf
mov eax, dword [esp + 0x78]
sub eax, ecx
sar eax, 2
cmp edi, eax
jb 0x1007a3c4
call fcn.10101425
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 0x1007a464
mov edx, 0xff
mov edi, dword [esp + 0x20]
add ebp, edi
cmp ebp, 0xff
jle 0x1007a477
mov ebp, 0xff
mov edi, dword [esp + 0x24]
add ecx, edi
cmp ecx, 0xff
jle 0x1007a48a
mov ecx, 0xff
cmp esi, dword [esp + 0x34]
jl 0x1007a4b8
cmp esi, edx
jg 0x1007a4b8
mov edx, dword [esp + 0x38]
cmp edx, dword [esp + 0x30]
jl 0x1007a4b8
cmp edx, ebp
jg 0x1007a4b8
mov edx, dword [esp + 0xe8]
cmp edx, eax
jl 0x1007a4b8
cmp edx, ecx
jg 0x1007a4b8
mov eax, 1
jmp 0x1007a4ba
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007a4da
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
jl 0x1007a331
jmp 0x1007a6fa
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 0x1007a590
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 0x1007a5a4
sub eax, edx
push edi
lea edx, [esp + 0xf4]
push 0x1016a690
push edx
mov dword [esp + 0xf4], eax
call fcn.10100f40
push ebx
lea eax, [esp + 0x120]
push 0x1016a690
push eax
call fcn.10100f40
add esp, 0x18
test esi, esi
lea eax, [esp + 0xf0]
jne 0x1007a5fe
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 0x1007a5f0
jmp 0x1007a66a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007a601
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007a66a
mov edi, ebp
add edi, 0xffffffff
lea ebx, [ebx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007a620
mov dx, word [0x1016a5a8]
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 0x1007a640
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007a652
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 0x1007a692
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 0x1007a684
jmp 0x1007a6fa
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007a695
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007a6fa
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007a6b2
mov dx, word [0x1016a5a8]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007a6d0
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007a6e2
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 0x1007a302
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
jl 0x1007a2f2
jmp 0x1007c270
mov eax, dword [esp + 0x168]
cmp eax, 1
jne 0x1007ab14
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x1007c270
mov ecx, dword [esp + 0xa8]
test ecx, ecx
mov dword [esp + 0x18], 0
jle 0x1007ab04
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 0x1007aaea
jmp 0x1007a7a0
push esi
lea ecx, [esp + 0x84]
call fcn.10059630
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.10059630
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059630
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.10059630
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 0x1007a85d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007a870
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007a882
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007a8b2
cmp edi, ecx
jg 0x1007a8b2
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007a8b2
cmp ecx, ebp
jg 0x1007a8b2
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007a8b2
cmp ecx, eax
jg 0x1007a8b2
mov eax, 1
jmp 0x1007a8b4
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007a8cc
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007a7a0
jmp 0x1007aaea
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 0x1007a980
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 0x1007a994
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016a690
push ecx
mov dword [esp + 0xf4], eax
call fcn.10100f40
push ebx
lea edx, [esp + 0x100]
push 0x1016a690
push edx
call fcn.10100f40
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007a9f1
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 0x1007a9e0
jmp 0x1007aa5a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007a9f4
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007aa5a
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007aa10
mov dx, word [0x1016a5a8]
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 0x1007aa30
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007aa42
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 0x1007aa82
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 0x1007aa74
jmp 0x1007aaea
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007aa85
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007aaea
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007aaa2
mov dx, word [0x1016a5a8]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007aac0
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007aad2
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 0x1007a770
sub dword [esp + 0x14], 1
jns 0x1007a75e
jmp 0x1007c270
cmp eax, 2
jne 0x1007aee4
cmp dword [esp + 0xac], edi
mov dword [esp + 0x14], edi
jle 0x1007c270
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1007aec7
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 0x1007aebc
lea ecx, [ecx]
push esi
lea ecx, [esp + 0x84]
call fcn.10059630
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.10059630
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059630
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.10059630
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 0x1007ac2d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007ac40
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007ac52
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007ac82
cmp edi, ecx
jg 0x1007ac82
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007ac82
cmp ecx, ebp
jg 0x1007ac82
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007ac82
cmp ecx, eax
jg 0x1007ac82
mov eax, 1
jmp 0x1007ac84
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007ac9c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007ab70
jmp 0x1007aebc
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 0x1007ad50
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 0x1007ad64
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016a690
push ecx
mov dword [esp + 0xf4], eax
call fcn.10100f40
push ebx
lea edx, [esp + 0x100]
push 0x1016a690
push edx
call fcn.10100f40
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007adc1
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 0x1007adb0
jmp 0x1007ae2a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007adc4
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007ae2a
mov edi, ebp
add edi, 0xffffffff
lea ecx, [ecx]
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007ade0
mov dx, word [0x1016a5a8]
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 0x1007ae00
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007ae12
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 0x1007ae55
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 0x1007ae44
jmp 0x1007aebc
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007ae58
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007aebc
mov ebx, dword [esp + 0x1c]
mov edi, ebx
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007ae75
mov dx, word [0x1016a5a8]
lea eax, [esp + 0xf0]
mov word [edi], dx
mov ecx, eax
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007ae92
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007aea4
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 0x1007ab42
mov eax, dword [esp + 0x14]
add eax, 1
cmp eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
jl 0x1007ab2e
jmp 0x1007c270
cmp eax, 3
jne 0x1007b2c5
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x14], eax
jl 0x1007c270
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1007b2b5
jmp 0x1007af20
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 0x1007b2aa
jmp 0x1007af50
push esi
lea ecx, [esp + 0x84]
call fcn.10059630
mov edx, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], edx
call fcn.10059630
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059630
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.10059630
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 0x1007b00d
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007b020
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007b032
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007b062
cmp edi, ecx
jg 0x1007b062
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007b062
cmp ecx, ebp
jg 0x1007b062
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007b062
cmp ecx, eax
jg 0x1007b062
mov eax, 1
jmp 0x1007b064
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007b07c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007af50
jmp 0x1007b2aa
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 0x1007b130
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 0x1007b144
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016a690
push ecx
mov dword [esp + 0xf4], eax
call fcn.10100f40
push ebx
lea edx, [esp + 0x100]
push 0x1016a690
push edx
call fcn.10100f40
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007b1a1
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 0x1007b190
jmp 0x1007b20a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b1a4
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b20a
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b1c1
mov dx, word [0x1016a5a8]
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 0x1007b1e0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b1f2
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 0x1007b235
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 0x1007b224
jmp 0x1007b2aa
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b238
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b2aa
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 0x1007b260
mov dx, word [0x1016a5a8]
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 0x1007b280
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b292
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 0x1007af20
sub dword [esp + 0x14], 1
jns 0x1007af03
jmp 0x1007c270
cmp eax, 5
jne 0x1007b6c1
cmp dword [esp + 0xa8], edi
mov dword [esp + 0x18], edi
jle 0x1007c270
mov ecx, dword [esp + 0xac]
test ecx, ecx
mov dword [esp + 0x14], 0
jle 0x1007b6a4
jmp 0x1007b300
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 0x1007b68a
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.10059630
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.10059630
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059630
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.10059630
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 0x1007b3ed
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007b400
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007b412
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007b442
cmp edi, ecx
jg 0x1007b442
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007b442
cmp ecx, ebp
jg 0x1007b442
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007b442
cmp ecx, eax
jg 0x1007b442
mov eax, 1
jmp 0x1007b444
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007b45c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007b330
jmp 0x1007b68a
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 0x1007b510
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 0x1007b524
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016a690
push ecx
mov dword [esp + 0xf4], eax
call fcn.10100f40
push ebx
lea edx, [esp + 0x100]
push 0x1016a690
push edx
call fcn.10100f40
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007b581
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 0x1007b570
jmp 0x1007b5ea
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b584
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b5ea
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b5a1
mov dx, word [0x1016a5a8]
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 0x1007b5c0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b5d2
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 0x1007b615
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 0x1007b604
jmp 0x1007b68a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b618
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b68a
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 0x1007b640
mov dx, word [0x1016a5a8]
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 0x1007b660
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b672
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 0x1007b300
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
jl 0x1007b2e6
jmp 0x1007c270
cmp eax, 6
jne 0x1007bab4
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
cmp eax, edi
mov dword [esp + 0x18], eax
jl 0x1007c270
mov ecx, dword [esp + 0xac]
test ecx, ecx
mov dword [esp + 0x14], 0
jle 0x1007baa4
jmp 0x1007b700
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 0x1007ba8a
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.10059630
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.10059630
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059630
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.10059630
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 0x1007b7ed
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007b800
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007b812
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007b842
cmp edi, ecx
jg 0x1007b842
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007b842
cmp ecx, ebp
jg 0x1007b842
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007b842
cmp ecx, eax
jg 0x1007b842
mov eax, 1
jmp 0x1007b844
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007b85c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007b730
jmp 0x1007ba8a
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 0x1007b910
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 0x1007b924
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016a690
push ecx
mov dword [esp + 0xf4], eax
call fcn.10100f40
push ebx
lea edx, [esp + 0x100]
push 0x1016a690
push edx
call fcn.10100f40
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007b981
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 0x1007b970
jmp 0x1007b9ea
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007b984
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007b9ea
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007b9a1
mov dx, word [0x1016a5a8]
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 0x1007b9c0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007b9d2
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 0x1007ba15
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 0x1007ba04
jmp 0x1007ba8a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007ba18
sub eax, edx
add eax, esi
cmp eax, 0x1770
jae 0x1007ba8a
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 0x1007ba40
mov dx, word [0x1016a5a8]
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 0x1007ba60
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007ba72
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 0x1007b700
sub dword [esp + 0x18], 1
jns 0x1007b6e7
jmp 0x1007c270
cmp eax, 7
jne 0x1007be92
cmp dword [esp + 0xa8], edi
mov dword [esp + 0x18], edi
jle 0x1007c270
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
js 0x1007be75
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 0x1007be6a
push esi
lea ecx, [esp + 0x84]
call fcn.10059630
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.10059630
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059630
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.10059630
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 0x1007bbcd
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007bbe0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007bbf2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007bc22
cmp edi, ecx
jg 0x1007bc22
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007bc22
cmp ecx, ebp
jg 0x1007bc22
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007bc22
cmp ecx, eax
jg 0x1007bc22
mov eax, 1
jmp 0x1007bc24
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007bc3c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007bb10
jmp 0x1007be6a
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 0x1007bcf0
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 0x1007bd04
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016a690
push ecx
mov dword [esp + 0xf4], eax
call fcn.10100f40
push ebx
lea edx, [esp + 0x100]
push 0x1016a690
push edx
call fcn.10100f40
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007bd61
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 0x1007bd50
jmp 0x1007bdca
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007bd64
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007bdca
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007bd82
mov dx, word [0x1016a5a8]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007bda0
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007bdb2
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 0x1007bdf5
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 0x1007bde4
jmp 0x1007be6a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007bdf8
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007be6a
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 0x1007be20
mov dx, word [0x1016a5a8]
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 0x1007be40
mov edi, ebx
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]
sub dword [esp + 0x14], 1
jns 0x1007bae2
mov eax, dword [esp + 0x18]
add eax, 1
cmp eax, dword [esp + 0xa8]
mov dword [esp + 0x18], eax
jl 0x1007bace
jmp 0x1007c270
cmp eax, 8
jne 0x1007c270
mov eax, dword [esp + 0xa8]
add eax, 0xffffffff
mov dword [esp + 0x18], eax
js 0x1007c270
nop
mov eax, dword [esp + 0xac]
add eax, 0xffffffff
mov dword [esp + 0x14], eax
js 0x1007c265
jmp 0x1007bed0
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 0x1007c25a
mov edi, edi
push esi
lea ecx, [esp + 0x84]
call fcn.10059630
mov eax, dword [eax]
push esi
lea ecx, [esp + 0x94]
mov dword [esp + 0x24], eax
call fcn.10059630
mov ebp, dword [eax]
push esi
lea ecx, [esp + 0x64]
call fcn.10059630
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.10059630
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 0x1007bfbd
mov ecx, 0xff
mov edi, dword [esp + 0x24]
add ebp, edi
cmp ebp, 0xff
jle 0x1007bfd0
mov ebp, 0xff
mov edi, dword [esp + 0x20]
add eax, edi
cmp eax, 0xff
jle 0x1007bfe2
mov eax, 0xff
movzx edi, byte [esp + 0x32]
cmp edi, dword [esp + 0x38]
jl 0x1007c012
cmp edi, ecx
jg 0x1007c012
mov ecx, dword [esp + 0x34]
cmp ecx, dword [esp + 0x3c]
jl 0x1007c012
cmp ecx, ebp
jg 0x1007c012
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x1007c012
cmp ecx, eax
jg 0x1007c012
mov eax, 1
jmp 0x1007c014
xor eax, eax
cmp dword [esp + 0x48], eax
je 0x1007c02c
add esi, 1
cmp esi, dword [esp + 0x2c]
jl 0x1007bf00
jmp 0x1007c25a
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 0x1007c0e0
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 0x1007c0f4
push edi
lea ecx, [esp + 0x114]
sub eax, edx
push 0x1016a690
push ecx
mov dword [esp + 0xf4], eax
call fcn.10100f40
push ebx
lea edx, [esp + 0x100]
push 0x1016a690
push edx
call fcn.10100f40
add esp, 0x18
test esi, esi
lea eax, [esp + 0x110]
jne 0x1007c151
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 0x1007c140
jmp 0x1007c1ba
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007c154
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007c1ba
mov edi, ebp
add edi, 0xffffffff
mov al, byte [edi + 1]
add edi, 1
test al, al
jne 0x1007c172
mov dx, word [0x1016a5a8]
lea eax, [esp + 0x110]
mov word [edi], dx
mov ecx, eax
nop
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x1007c190
mov edi, ebp
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007c1a2
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 0x1007c1e5
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 0x1007c1d4
jmp 0x1007c25a
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1007c1e8
sub eax, edx
add esi, eax
cmp esi, 0x1770
jae 0x1007c25a
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 0x1007c210
mov dx, word [0x1016a5a8]
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 0x1007c230
mov edi, ebx
sub eax, ecx
mov esi, ecx
add edi, 0xffffffff
mov cl, byte [edi + 1]
add edi, 1
test cl, cl
jne 0x1007c242
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 0x1007bed0
sub dword [esp + 0x18], 1
jns 0x1007beb0
mov edi, dword [esp + 0x40]
cmp byte [edi], 0
mov esi, dword [esp + 0x58]
je 0x1007c2d5
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.10100f40
add esp, 0x10
push esi
lea ecx, [esp + 0xd0]
call fcn.1000c990
push esi
call fcn.100ff229
push edi
call fcn.100ff229
mov edx, dword [esp + 0x24]
push edx
call fcn.100ff229
mov eax, dword [esp + 0x50]
push eax
call fcn.100ff229
add esp, 0x10
lea ecx, [esp + 0xcc]
mov dword [esp + 0x44], 0
push ecx
mov esi, dword [esp + 0xa4]
mov ecx, esi
call fcn.10009aa0
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 4
lea ecx, [esp + 0x80]
call fcn.10009d00
mov byte [esp + 0x13c], 3
lea ecx, [esp + 0x90]
call fcn.10009d00
mov byte [esp + 0x13c], 2
lea ecx, [esp + 0x60]
call fcn.10009d00
mov byte [esp + 0x13c], 1
lea ecx, [esp + 0x70]
call fcn.10009d00
mov byte [esp + 0x13c], 0
lea ecx, [esp + 0xcc]
call fcn.10006120
jmp 0x1007c460
push esi
call fcn.100ff229
add esp, 4
cmp ebp, edi
je 0x1007c397
push ebp
call fcn.100ff229
add esp, 4
cmp ebx, edi
je 0x1007c3a4
push ebx
call fcn.100ff229
add esp, 4
lea edx, [esp + 0xcc]
push edx
jmp 0x1007c308
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.100097c0
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 0
cmp dword [esp + 0xe4], 0x10
jb 0x1007c44a
mov ecx, dword [esp + 0xd0]
push ecx
jmp 0x1007c442
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.100097c0
mov dword [esp + 0x5c], 1
mov byte [esp + 0x13c], 0
cmp dword [esp + 0xe4], 0x10
jb 0x1007c44a
mov eax, dword [esp + 0xd0]
push eax
call fcn.100ee0d8
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.100ff704
add esp, 0x12c
ret