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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov edi, edx
mov esi, ecx
test byte [ecx + 0xa], 8
jne 0x10007d14
xor edx, edx
jmp 0x10007d20
mov eax, dword [esi + 0x1c]
sub eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x24]
setbe dl
cmp dword [esi], 0
jne 0x10007d3e
mov eax, dword [esi + 0x7c]
mov ebp, dword [esi + 0x8c]
mov eax, dword [eax]
sub eax, ebp
cmp eax, 0x14ccc
jb 0x10007d3e
add ebp, dword [esi + 0x74]
jmp 0x10007d44
lea ebp, [esi + 0x39272]
mov dword [esi + 0x30], ebp
lea eax, [ebp + 0x14cbc]
mov dword [esi + 0x34], eax
cmp dword [esi + 0x5c], 0
jne 0x1000820e
xor eax, eax
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x2c]
movzx ebx, byte [eax]
mov cl, byte [esi + 0x38]
shr ebx, cl
mov byte [eax], bl
xor eax, eax
cmp dword [esi + 0x38], 8
sete al
sub dword [esi + 0x28], eax
test byte [esi + 9], 0x10
je 0x10007df9
cmp dword [esi + 0x64], 0
jne 0x10007df9
mov ecx, dword [esi + 0x44]
mov eax, pe_nt_image_headers32
shl eax, cl
or eax, dword [esi + 0x48]
mov dword [esi + 0x48], eax
sub ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
jae 0x10007dc6
mov ebx, dword [esi + 0x30]
cmp ebx, dword [esi + 0x34]
jae 0x10007db5
lea ecx, [ebx + 1]
mov dword [esi + 0x30], ecx
mov byte [ebx], al
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
shr eax, 8
mov dword [esi + 0x48], eax
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x10007d9f
bts eax, ecx
mov dword [esi + 0x48], eax
or ecx, 8
mov dword [esi + 0x44], ecx
mov ebx, dword [esi + 0x30]
cmp ebx, dword [esi + 0x34]
jae 0x10007de8
lea ecx, [ebx + 1]
mov dword [esi + 0x30], ecx
mov byte [ebx], al
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
shr eax, 8
mov dword [esi + 0x48], eax
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x10007dd2
xor ebx, ebx
cmp edi, 4
sete bl
mov ecx, dword [esi + 0x44]
shl ebx, cl
or ebx, dword [esi + 0x48]
mov dword [esi + 0x48], ebx
inc ecx
mov dword [esi + 0x44], ecx
cmp ecx, 8
jb 0x10007e3c
mov eax, dword [esi + 0x30]
cmp eax, dword [esi + 0x34]
jae 0x10007e2b
lea ecx, [eax + 1]
mov dword [esi + 0x30], ecx
mov byte [eax], bl
mov ecx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x10007e15
mov dword [esp + 4], ebp
mov ebp, dword [esi + 0x30]
xor eax, eax
test dl, dl
jne 0x10007e85
mov dword [esp], edi
mov edi, ecx
mov al, 1
test byte [esi + 0xa], 4
jne 0x10007e5d
cmp dword [esi + 0x3c], 0x30
setb al
movzx edx, al
mov ecx, esi
call 0x10008238
mov ecx, dword [esi + 0x3c]
test ecx, ecx
je 0x10007fb1
mov edx, dword [esi + 0x30]
sub edx, ebp
inc edx
cmp edx, ecx
mov ecx, edi
mov edi, dword [esp]
jb 0x10007fb6
mov edx, ecx
mov ecx, dword [esi + 0x1c]
sub ecx, dword [esi + 0x40]
cmp ecx, dword [esi + 0x24]
mov ecx, edx
ja 0x10007fb6
mov dword [esi + 0x30], ebp
mov dword [esi + 0x48], ebx
lea eax, [ecx + 2]
mov dword [esi + 0x44], eax
cmp ecx, 6
jb 0x10007ed8
mov ecx, dword [esi + 0x30]
cmp ecx, dword [esi + 0x34]
jae 0x10007ebf
lea eax, [ecx + 1]
mov dword [esi + 0x30], eax
mov byte [ecx], bl
mov eax, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add eax, 0xfffffff8
mov dword [esi + 0x44], eax
cmp eax, 7
ja 0x10007ea9
test eax, eax
je 0x10008207
mov dword [esi + 0x44], 8
mov ecx, 8
mov eax, dword [esi + 0x30]
cmp eax, dword [esi + 0x34]
jae 0x10007efa
lea ecx, [eax + 1]
mov dword [esi + 0x30], ecx
mov byte [eax], bl
mov ecx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x10007ee4
movzx ebp, word [esi + 0x3c]
mov eax, 2
mov edx, 0xffff
movzx ebp, bp
shl ebp, cl
or ebx, ebp
mov dword [esi + 0x48], ebx
add ecx, 0x10
mov dword [esi + 0x44], ecx
mov ebp, dword [esi + 0x30]
cmp ebp, dword [esi + 0x34]
jae 0x10007f40
lea ecx, [ebp + 1]
mov dword [esi + 0x30], ecx
mov byte [ebp], bl
mov ecx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x10007f29
mov ebp, dword [esi + 0x3c]
xor ebp, edx
mov dword [esi + 0x3c], ebp
dec eax
jne 0x10007f19
test ebp, ebp
je 0x10007fcd
xor eax, eax
mov edx, dword [esi + 0x40]
add edx, eax
and edx, 0x7fff
movzx edx, byte [esi + edx + 0x90]
shl edx, cl
or ebx, edx
mov dword [esi + 0x48], ebx
add ecx, 8
mov dword [esi + 0x44], ecx
mov edx, dword [esi + 0x30]
cmp edx, dword [esi + 0x34]
jae 0x10007f98
lea ecx, [edx + 1]
mov dword [esi + 0x30], ecx
mov byte [edx], bl
mov ecx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x10007f82
inc eax
cmp eax, dword [esi + 0x3c]
jb 0x10007f62
jmp 0x10007fcd
mov ecx, edi
mov edi, dword [esp]
test eax, eax
jne 0x10007fcd
mov dword [esi + 0x30], ebp
mov dword [esi + 0x48], ebx
mov dword [esi + 0x44], ecx
xor edx, edx
inc edx
mov ecx, esi
call 0x10008238
test edi, edi
je 0x10008130
mov ecx, dword [esi + 0x44]
cmp edi, 4
jne 0x1000801d
test ecx, ecx
je 0x10008091
mov dword [esi + 0x44], 8
mov eax, dword [esi + 0x48]
mov ecx, 8
mov edx, dword [esi + 0x30]
cmp edx, dword [esi + 0x34]
jae 0x1000800a
lea ecx, [edx + 1]
mov dword [esi + 0x30], ecx
mov byte [edx], al
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
shr eax, 8
mov dword [esi + 0x48], eax
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x10007ff4
jmp 0x10008093
add ecx, 3
mov dword [esi + 0x44], ecx
mov eax, dword [esi + 0x48]
cmp ecx, 8
jb 0x10008052
mov edx, dword [esi + 0x30]
cmp edx, dword [esi + 0x34]
jae 0x10008041
lea ecx, [edx + 1]
mov dword [esi + 0x30], ecx
mov byte [edx], al
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
shr eax, 8
mov dword [esi + 0x48], eax
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x1000802b
xor edx, edx
test ecx, ecx
je 0x100080e9
mov dword [esi + 0x44], 8
mov ecx, 8
mov edi, dword [esi + 0x30]
cmp edi, dword [esi + 0x34]
jae 0x1000807e
lea ecx, [edi + 1]
mov dword [esi + 0x30], ecx
mov byte [edi], al
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
shr eax, 8
mov dword [esi + 0x48], eax
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x10008068
jmp 0x100080eb
xor ecx, ecx
test byte [esi + 9], 0x10
je 0x10008130
mov eax, dword [esi + 0x18]
mov ebx, dword [esi + 0x48]
xor edx, edx
mov edi, eax
shr edi, 0x18
shl edi, cl
or ebx, edi
mov dword [esi + 0x48], ebx
add ecx, 8
mov dword [esi + 0x44], ecx
mov edi, dword [esi + 0x30]
cmp edi, dword [esi + 0x34]
jae 0x100080cd
lea ecx, [edi + 1]
mov dword [esi + 0x30], ecx
mov byte [edi], bl
mov ecx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x100080b7
shl eax, 8
inc edx
cmp edx, 4
jne 0x100080a5
jmp 0x10008130
xor ecx, ecx
mov edi, 2
movzx ebx, dx
shl ebx, cl
or eax, ebx
mov dword [esi + 0x48], eax
add ecx, 0x10
mov dword [esi + 0x44], ecx
mov ebx, dword [esi + 0x30]
cmp ebx, dword [esi + 0x34]
jae 0x10008116
lea ecx, [ebx + 1]
mov dword [esi + 0x30], ecx
mov byte [ebx], al
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
shr eax, 8
mov dword [esi + 0x48], eax
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x10008100
xor edx, 0xffff
dec edi
jne 0x100080f0
mov edi, dword [esi + 0x30]
cmp edi, dword [esi + 0x34]
jae 0x10008223
lea eax, [esi + 0x8192]
lea ebx, [esi + 0x9272]
lea ebp, [esi + 0x9273]
xor ecx, ecx
push 0x280
push ecx
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esi + 0x28], ebp
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x38], 8
mov eax, dword [esi + 0x3c]
add dword [esi + 0x40], eax
xor eax, eax
mov dword [esi + 0x3c], eax
inc dword [esi + 0x64]
mov ecx, dword [esp + 4]
sub edi, ecx
je 0x100081fc
mov eax, dword [esi]
test eax, eax
je 0x100081b6
mov ecx, dword [esi + 0x78]
mov edx, dword [esi + 0x84]
sub edx, dword [esi + 0x70]
mov dword [ecx], edx
lea ecx, [esi + 0x39272]
push dword [esi + 4]
push edi
push ecx
call eax
add esp, 0xc
test eax, eax
jne 0x100081fc
mov dword [esi + 0x6c], 0xffffffff
xor eax, eax
dec eax
jmp 0x100081ff
lea eax, [esi + 0x39272]
cmp ecx, eax
je 0x100081c8
add dword [esi + 0x8c], edi
jmp 0x100081fc
mov ecx, dword [esi + 0x7c]
mov edx, dword [esi + 0x8c]
mov ebp, dword [ecx]
sub ebp, edx
cmp edi, ebp
mov ebx, ebp
cmovb ebx, edi
add edx, dword [esi + 0x74]
push ebx
push eax
push edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
add dword [esi + 0x8c], ebx
cmp edi, ebp
jbe 0x100081fc
sub edi, ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], edi
mov eax, dword [esi + 0x5c]
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
jmp 0x10007f0b
push 0xdc0
push str.src_compat_dvfs_stb_zip_v221.h
push str._d__m_output_flush_remaining
call dword [sym.imp.msvcrt.dll__assert]
push 0xe0d
push str.src_compat_dvfs_stb_zip_v221.h
push str.d__m_pOutput_buf___d__m_pOutput_buf_end
call dword [sym.imp.msvcrt.dll__assert]
push ebp
push ebx
push edi
push esi
sub esp, 0x2a0
mov esi, ecx
test edx, edx
je 0x1000833d
lea eax, [esi + 0x8f12]
push 0x90
push 8
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
movaps xmm0, xmmword [str._t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_t_a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_a_b_b_b_b_b_b_b_b]
movups xmmword [esi + 0x8fa2], xmm0
movups xmmword [esi + 0x8fb2], xmm0
movups xmmword [esi + 0x8fc2], xmm0
movups xmmword [esi + 0x8fd2], xmm0
movups xmmword [esi + 0x8fe2], xmm0
movups xmmword [esi + 0x8ff2], xmm0
movups xmmword [esi + 0x9002], xmm0
movaps xmm0, xmmword [0x100140d0]
movups xmmword [esi + 0x9012], xmm0
movaps xmm0, xmmword [0x100140e0]
movups xmmword [esi + 0x9022], xmm0
movaps xmm0, xmmword [0x100140f0]
movups xmmword [esi + 0x9032], xmm0
movups xmmword [esi + 0x9042], xmm0
xor edi, edi
inc edi
mov ebx, 0xf
mov ecx, esi
xor edx, edx
push edi
push ebx
push 0x120
call 0x10008d3a
add esp, 0xc
mov ecx, esi
mov edx, edi
push edi
push ebx
push 0x20
call 0x10008d3a
add esp, 0xc
mov eax, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
bts ebx, eax
mov dword [esi + 0x48], ebx
add eax, 2
mov dword [esi + 0x44], eax
cmp eax, 8
jb 0x10008967
mov ecx, dword [esi + 0x30]
cmp ecx, dword [esi + 0x34]
jae 0x10008327
lea eax, [ecx + 1]
mov dword [esi + 0x30], eax
mov byte [ecx], bl
mov eax, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add eax, 0xfffffff8
mov dword [esi + 0x44], eax
cmp eax, 7
ja 0x10008311
jmp 0x10008967
mov word [esi + 0x8392], 1
xor ebx, ebx
mov edi, 0xf
mov ecx, esi
xor edx, edx
push ebx
push edi
push 0x120
call 0x10008d3a
add esp, 0xc
xor edx, edx
inc edx
mov ecx, esi
mov ebp, edx
push ebx
push edi
push 0x20
call 0x10008d3a
add esp, 0xc
lea eax, [esi + 0x8f12]
mov ecx, 0x902f
lea edx, [ecx - 0x8f11]
cmp edx, 0x102
jb 0x100083a3
lea edx, [ecx - 1]
cmp byte [esi + ecx], 0
mov ecx, edx
je 0x1000837e
add edx, 0xffff70f0
mov dword [esp + 0x10], edx
jmp 0x100083ab
mov dword [esp + 0x10], 0x101
mov ecx, 0x904f
mov edi, ebp
lea edx, [ecx - 0x9031]
cmp edx, 2
jb 0x100083d0
lea edx, [ecx - 1]
cmp byte [esi + ecx], 0
mov ecx, edx
je 0x100083b2
add edx, 0xffff6fd0
mov edi, edx
lea ecx, [esp + 0x160]
mov ebx, dword [esp + 0x10]
push ebx
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + ebx]
add eax, 0x160
lea ecx, [esi + 0x9032]
push edi
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x18], edi
mov ecx, edi
xorps xmm0, xmm0
movups xmmword [esi + 0x8612], xmm0
movups xmmword [esi + 0x8622], xmm0
xorps xmm0, xmm0
movsd qword [esi + 0x8630], xmm0
add ecx, ebx
je 0x10008615
lea eax, [esi + 0x8612]
mov dword [esp + 0x1c], eax
mov dl, 0xff
xor edi, edi
xor eax, eax
xor ebx, ebx
mov dword [esp + 4], 0
mov dword [esp + 0xc], ecx
mov byte [esp + 8], dl
movzx edx, byte [esp + edi + 0x160]
test edx, edx
je 0x10008490
test ebx, ebx
je 0x100084d8
cmp ebx, 2
ja 0x100084dc
mov ebp, eax
mov eax, dword [esp + 0x1c]
add word [eax], bx
lea eax, [esp + ebp]
add eax, 0x20
push ebx
push 0
push eax
mov dword [esp + 0xc], edx
call sub.msvcrt.dll_memset
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
add esp, 0xc
add ebx, ebp
mov ebp, ebx
jmp 0x10008555
mov ebp, ebx
mov ebx, dword [esp + 4]
test ebx, ebx
je 0x1000850b
cmp ebx, 2
ja 0x100084f5
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 8]
add word [esi + eax*2 + 0x8612], bx
mov ecx, dword [esp + 0x14]
add ecx, esp
add ecx, 0x20
push ebx
push eax
push ecx
mov dword [esp + 0xc], edx
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
add esp, 0xc
add eax, ebx
jmp 0x1000850b
mov ebp, eax
jmp 0x10008555
lea ebp, [eax + 2]
cmp ebx, 0xa
ja 0x10008542
inc word [esi + 0x8634]
mov byte [esp + eax + 0x20], 0x11
add bl, 0xfd
jmp 0x10008551
inc word [esi + 0x8632]
mov byte [esp + eax + 0x20], 0x10
add bl, 0xfd
mov byte [esp + eax + 0x21], bl
add eax, 2
mov ebx, ebp
inc ebx
mov dword [esp + 4], 0
cmp ebx, 0x8a
jne 0x100085e7
inc word [esi + 0x8636]
mov word [esp + eax + 0x20], 0x7f12
add eax, 2
mov dword [esp + 4], 0
xor ebx, ebx
jmp 0x100085e7
inc word [esi + 0x8636]
mov byte [esp + eax + 0x20], 0x12
add bl, 0xf5
mov byte [esp + eax + 0x21], bl
cmp dl, byte [esp + 8]
mov eax, dword [esp + 4]
jne 0x1000856d
inc eax
xor ebx, ebx
cmp eax, 6
je 0x100085a6
mov dword [esp + 4], eax
jmp 0x100085e5
test eax, eax
je 0x100085ce
cmp eax, 2
ja 0x100085b9
mov ebx, eax
movzx eax, byte [esp + 8]
add word [esi + eax*2 + 0x8612], bx
lea ecx, [esp + ebp]
add ecx, 0x20
push ebx
push eax
push ecx
mov dword [esp + 0xc], edx
call sub.msvcrt.dll_memset
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
add esp, 0xc
add ebp, ebx
jmp 0x100085ce
inc word [esi + 0x8632]
mov word [esp + ebp + 0x20], 0x310
add ebp, 2
jmp 0x100085db
inc word [esi + 0x8632]
mov byte [esp + ebp + 0x20], 0x10
add al, 0xfd
mov byte [esp + ebp + 0x21], al
add ebp, 2
inc word [esi + edx*2 + 0x8612]
mov byte [esp + ebp + 0x20], dl
inc ebp
mov dword [esp + 4], 0
xor ebx, ebx
mov eax, ebp
inc edi
cmp edi, ecx
jb 0x10008447
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x1000861e
cmp ecx, 2
ja 0x10008649
add word [esi + edx*2 + 0x8612], cx
mov edi, eax
add eax, esp
add eax, 0x20
mov ebx, ecx
movzx ecx, dl
push ebx
push ecx
jmp 0x10008639
mov dword [esp], 0
jmp 0x10008695
test ebx, ebx
je 0x1000865f
cmp ebx, 2
ja 0x10008664
mov edi, eax
mov eax, dword [esp + 0x1c]
add word [eax], bx
lea eax, [esp + edi]
add eax, 0x20
push ebx
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
add edi, ebx
mov dword [esp], edi
jmp 0x10008695
inc word [esi + 0x8632]
mov byte [esp + eax + 0x20], 0x10
add cl, 0xfd
mov byte [esp + eax + 0x21], cl
add eax, 2
mov dword [esp], eax
jmp 0x10008695
mov ecx, eax
add eax, 2
mov dword [esp], eax
cmp ebx, 0xa
ja 0x10008682
inc word [esi + 0x8634]
mov byte [esp + ecx + 0x20], 0x11
add bl, 0xfd
jmp 0x10008691
inc word [esi + 0x8636]
mov byte [esp + ecx + 0x20], 0x12
add bl, 0xf5
mov byte [esp + ecx + 0x21], bl
mov ebx, 2
mov ecx, esi
mov edx, 2
push 0
push 7
push 0x13
call 0x10008d3a
add esp, 0xc
mov ecx, dword [esi + 0x44]
shl ebx, cl
or ebx, dword [esi + 0x48]
mov dword [esi + 0x48], ebx
add ecx, 2
mov dword [esi + 0x44], ecx
cmp ecx, 8
jb 0x100086f2
mov edx, dword [esp + 0x10]
mov eax, dword [esi + 0x30]
cmp eax, dword [esi + 0x34]
jae 0x100086df
lea ecx, [eax + 1]
mov dword [esi + 0x30], ecx
mov byte [eax], bl
mov ecx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x100086c9
jmp 0x100086f6
mov edx, dword [esp + 0x10]
add edx, 0xfffffeff
cmp edx, 0x20
jae 0x10008d17
shl edx, cl
or edx, ebx
mov dword [esi + 0x48], edx
lea eax, [ecx + 5]
mov dword [esi + 0x44], eax
cmp ecx, 3
jb 0x10008744
mov ebx, dword [esp + 0x18]
mov ecx, dword [esi + 0x30]
cmp ecx, dword [esi + 0x34]
jae 0x10008731
lea eax, [ecx + 1]
mov dword [esi + 0x30], eax
mov byte [ecx], dl
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x48]
shr edx, 8
mov dword [esi + 0x48], edx
add eax, 0xfffffff8
mov dword [esi + 0x44], eax
cmp eax, 7
ja 0x1000871b
jmp 0x10008748
mov ebx, dword [esp + 0x18]
cmp ebx, 0x21
jae 0x10008d1e
dec ebx
mov ecx, eax
shl ebx, cl
or ebx, edx
mov dword [esi + 0x48], ebx
lea ecx, [eax + 5]
mov dword [esi + 0x44], ecx
cmp eax, 3
jb 0x1000878d
mov eax, dword [esi + 0x30]
cmp eax, dword [esi + 0x34]
jae 0x1000877c
lea ecx, [eax + 1]
mov dword [esi + 0x30], ecx
mov byte [eax], bl
mov ecx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add ecx, 0xfffffff8
mov dword [esi + 0x44], ecx
cmp ecx, 7
ja 0x10008766
mov edx, 0x12
xor eax, eax
dec eax
movzx edi, byte [edx + 0x100158bc]
cmp byte [esi + edi + 0x9152], 0
jne 0x100087b1
add edx, 0xffffffff
jb 0x10008795
mov edi, ebx
mov edx, eax
jmp 0x100087b3
mov edi, ebx
cmp edx, 4
mov eax, 3
cmovge eax, edx
lea ebx, [eax - 3]
cmp ebx, 0x10
jae 0x10008d25
shl ebx, cl
or ebx, edi
mov dword [esi + 0x48], ebx
lea edx, [ecx + 4]
mov dword [esi + 0x44], edx
cmp ecx, 4
jb 0x10008803
mov ecx, dword [esi + 0x30]
cmp ecx, dword [esi + 0x34]
jae 0x100087f2
lea edx, [ecx + 1]
mov dword [esi + 0x30], edx
mov byte [ecx], bl
mov edx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add edx, 0xfffffff8
mov dword [esi + 0x44], edx
cmp edx, 7
ja 0x100087dc
xor ebp, ebp
movzx ecx, byte [ebp + 0x100158bc]
movzx edi, byte [esi + ecx + 0x9152]
cmp edi, 8
jae 0x10008c81
mov ecx, edx
shl edi, cl
or ebx, edi
mov dword [esi + 0x48], ebx
add edx, 3
mov dword [esi + 0x44], edx
cmp edx, 8
jb 0x10008858
mov ecx, dword [esi + 0x30]
cmp ecx, dword [esi + 0x34]
jae 0x10008847
lea edx, [ecx + 1]
mov dword [esi + 0x30], edx
mov byte [ecx], bl
mov edx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add edx, 0xfffffff8
mov dword [esi + 0x44], edx
cmp edx, 7
ja 0x10008831
lea ecx, [ebp + 1]
cmp ebp, eax
mov ebp, ecx
jne 0x10008805
cmp dword [esp], 0
je 0x10008961
xor edi, edi
mov dword [esp + 4], edi
movzx eax, byte [esp + edi + 0x20]
cmp eax, 0x13
jae 0x10008cf4
movzx edi, word [esi + eax*2 + 0x8cd2]
mov dword [esp + 8], eax
movzx eax, byte [esi + eax + 0x9152]
mov ebp, edi
mov ecx, eax
shr ebp, cl
test ebp, ebp
jne 0x10008ced
mov ecx, edx
shl edi, cl
or edi, ebx
add eax, edx
mov dword [esi + 0x48], edi
mov dword [esi + 0x44], eax
cmp eax, 8
mov ebx, edi
jb 0x100088e3
mov edi, dword [esp + 4]
mov ecx, dword [esi + 0x30]
cmp ecx, dword [esi + 0x34]
jae 0x100088d0
lea eax, [ecx + 1]
mov dword [esi + 0x30], eax
mov byte [ecx], bl
mov eax, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add eax, 0xfffffff8
mov dword [esi + 0x44], eax
cmp eax, 7
ja 0x100088ba
jmp 0x100088e7
mov edi, dword [esp + 4]
mov ecx, dword [esp + 8]
cmp cl, 0x10
jb 0x10008951
mov ebp, ebx
movzx ebx, byte [esp + edi + 0x21]
movsx edx, byte [ecx + 0x10014e20]
mov edi, ebx
mov ecx, edx
shr edi, cl
test edi, edi
jne 0x10008d09
mov ecx, eax
shl ebx, cl
or ebx, ebp
add edx, eax
mov edi, dword [esp + 4]
add edi, 2
mov dword [esi + 0x48], ebx
mov dword [esi + 0x44], edx
cmp edx, 8
jb 0x1000894d
mov eax, dword [esi + 0x30]
cmp eax, dword [esi + 0x34]
jae 0x1000893c
lea ecx, [eax + 1]
mov dword [esi + 0x30], ecx
mov byte [eax], bl
mov edx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add edx, 0xfffffff8
mov dword [esi + 0x44], edx
cmp edx, 7
ja 0x10008926
mov eax, edx
jmp 0x10008952
inc edi
mov ecx, ebx
mov edx, eax
cmp edi, dword [esp]
jb 0x1000886d
jmp 0x10008965
mov ecx, ebx
mov eax, edx
mov ebx, ecx
lea ebp, [esi + 0x9272]
cmp ebp, dword [esi + 0x28]
jae 0x10008c0f
xor ecx, ecx
inc ecx
cmp ecx, 1
jne 0x10008989
movzx ecx, byte [ebp]
inc ebp
or ecx, 0x100
mov dword [esp + 4], ecx
test cl, 1
jne 0x10008a0e
mov dword [esp + 8], ebx
movzx ecx, byte [ebp]
movzx edx, byte [esi + ecx + 0x8f12]
test edx, edx
je 0x10008c8b
mov edi, ebp
movzx ebx, word [esi + ecx*2 + 0x8852]
mov ebp, ebx
mov ecx, edx
shr ebp, cl
test ebp, ebp
jne 0x10008cc3
mov ebp, edi
inc ebp
mov ecx, eax
shl ebx, cl
mov edi, dword [esp + 8]
or edi, ebx
mov ebx, edi
mov dword [esi + 0x48], edi
add edx, eax
mov dword [esi + 0x44], edx
cmp edx, 8
jb 0x10008bfc
mov eax, dword [esi + 0x30]
cmp eax, dword [esi + 0x34]
jae 0x100089f8
lea ecx, [eax + 1]
mov dword [esi + 0x30], ecx
mov byte [eax], bl
mov edx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add edx, 0xfffffff8
mov dword [esi + 0x44], edx
cmp edx, 7
ja 0x100089e2
jmp 0x10008bfc
mov dword [esp + 0xc], ebp
movzx ecx, byte [ebp]
mov dword [esp], ecx
movzx ecx, word [ecx + ecx + 0x10014aea]
movzx edx, byte [esi + ecx + 0x8f12]
test edx, edx
je 0x10008ca0
mov edi, ebx
movzx ebx, word [esi + ecx*2 + 0x8852]
mov ebp, ebx
mov ecx, edx
shr ebp, cl
test ebp, ebp
jne 0x10008ce6
mov ecx, eax
shl ebx, cl
mov ecx, edi
or ecx, ebx
mov edi, dword [esp + 0xc]
movzx ebx, byte [edi + 1]
mov dword [esp + 8], ebx
add edx, eax
movzx eax, byte [edi + 2]
mov dword [esp + 0x14], eax
mov edi, ecx
mov dword [esi + 0x48], ecx
mov dword [esi + 0x44], edx
cmp edx, 8
jb 0x10008aa3
mov eax, dword [esi + 0x30]
cmp eax, dword [esi + 0x34]
jae 0x10008a8e
lea ecx, [eax + 1]
mov dword [esi + 0x30], ecx
mov ecx, edi
mov byte [eax], cl
mov edx, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
jmp 0x10008a90
mov eax, edi
shr eax, 8
mov edi, eax
mov dword [esi + 0x48], eax
add edx, 0xfffffff8
mov dword [esi + 0x44], edx
cmp edx, 7
ja 0x10008a74
mov eax, dword [esp]
movzx ebx, byte [eax + 0x10014eac]
and eax, dword [ebx*4 + 0x10014e68]
mov ebp, eax
mov ecx, ebx
shr ebp, cl
test ebp, ebp
jne 0x10008cbc
mov ecx, edx
shl eax, cl
or eax, edi
add ebx, edx
mov dword [esi + 0x48], eax
mov dword [esi + 0x44], ebx
cmp ebx, 8
mov edx, eax
mov edi, ebx
jb 0x10008b00
mov eax, dword [esi + 0x30]
cmp eax, dword [esi + 0x34]
jae 0x10008aef
lea ecx, [eax + 1]
mov dword [esi + 0x30], ecx
mov byte [eax], dl
mov edi, dword [esi + 0x44]
mov edx, dword [esi + 0x48]
shr edx, 8
mov dword [esi + 0x48], edx
add edi, 0xfffffff8
mov dword [esi + 0x44], edi
cmp edi, 7
ja 0x10008ad9
mov dword [esp], edx
mov edx, dword [esp + 0x14]
mov ecx, edx
shl ecx, 8
add ecx, dword [esp + 8]
cmp ecx, 0x200
lea eax, [ecx + 0x1001486a]
mov dword [esp + 8], ecx
lea ecx, [ecx + 0x10014fac]
lea ebp, [edx + 0x10014a6a]
lea edx, [edx + 0x100151ac]
cmovb edx, ecx
cmovb ebp, eax
movzx eax, byte [ebp]
movzx ebx, byte [esi + eax + 0x9032]
test ebx, ebx
je 0x10008cca
movzx eax, word [esi + eax*2 + 0x8a92]
mov ebp, eax
mov ecx, ebx
shr ebp, cl
test ebp, ebp
jne 0x10008cdf
mov ecx, edi
shl eax, cl
or eax, dword [esp]
add ebx, edi
movzx edx, byte [edx]
mov dword [esi + 0x48], eax
mov dword [esi + 0x44], ebx
cmp ebx, 8
jb 0x10008ba0
mov ecx, dword [esi + 0x30]
cmp ecx, dword [esi + 0x34]
jae 0x10008b8f
lea ebx, [ecx + 1]
mov dword [esi + 0x30], ebx
mov byte [ecx], al
mov ebx, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
shr eax, 8
mov dword [esi + 0x48], eax
add ebx, 0xfffffff8
mov dword [esi + 0x44], ebx
cmp ebx, 7
ja 0x10008b79
mov edi, dword [esp + 8]
and edi, dword [edx*4 + 0x10014e68]
mov ebp, edi
mov ecx, edx
shr ebp, cl
test ebp, ebp
jne 0x10008cb5
mov ecx, ebx
shl edi, cl
or edi, eax
add edx, ebx
mov ebp, dword [esp + 0xc]
add ebp, 3
mov dword [esi + 0x48], edi
mov dword [esi + 0x44], edx
cmp edx, 8
mov ebx, edi
jb 0x10008bfc
mov eax, dword [esi + 0x30]
cmp eax, dword [esi + 0x34]
jae 0x10008beb
lea ecx, [eax + 1]
mov dword [esi + 0x30], ecx
mov byte [eax], bl
mov edx, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add edx, 0xfffffff8
mov dword [esi + 0x44], edx
cmp edx, 7
ja 0x10008bd5
mov ecx, dword [esp + 4]
shr ecx, 1
mov eax, edx
cmp ebp, dword [esi + 0x28]
jb 0x10008979
jmp 0x10008c11
mov edx, eax
mov ebp, ebx
movzx edi, word [esi + 0x8a52]
movzx eax, byte [esi + 0x9012]
mov ebx, edi
mov ecx, eax
shr ebx, cl
test ebx, ebx
jne 0x10008d10
mov ecx, edx
shl edi, cl
mov ebx, ebp
or ebx, edi
mov dword [esi + 0x48], ebx
add eax, edx
mov dword [esi + 0x44], eax
cmp eax, 8
jb 0x10008c6b
mov ecx, dword [esi + 0x30]
cmp ecx, dword [esi + 0x34]
jae 0x10008c5a
lea eax, [ecx + 1]
mov dword [esi + 0x30], eax
mov byte [ecx], bl
mov eax, dword [esi + 0x44]
mov ebx, dword [esi + 0x48]
shr ebx, 8
mov dword [esi + 0x48], ebx
add eax, 0xfffffff8
mov dword [esi + 0x44], eax
cmp eax, 7
ja 0x10008c44
mov ecx, dword [esi + 0x30]
xor eax, eax
cmp ecx, dword [esi + 0x34]
setb al
add esp, 0x2a0
pop esi
pop edi
pop ebx
pop ebp
ret
push 0xcf4
jmp 0x10008d2a
push 0xd9c
push str.src_compat_dvfs_stb_zip_v221.h
push str.d__m_huff_code_sizes_0__lit_
call dword [sym.imp.msvcrt.dll__assert]
push 0xd8a
push str.src_compat_dvfs_stb_zip_v221.h
push str.d__m_huff_code_sizes_0__s_tdefl_len_sym_match_len__
call dword [sym.imp.msvcrt.dll__assert]
push 0xd99
jmp 0x10008d2a
push 0xd8e
jmp 0x10008d2a
push 0xd9d
jmp 0x10008d2a
push 0xd97
push str.src_compat_dvfs_stb_zip_v221.h
push 0x1001522c
call dword [sym.imp.msvcrt.dll__assert]
push 0xd98
jmp 0x10008d2a
push 0xd8c
jmp 0x10008d2a
push 0xcfa
jmp 0x10008d2a
push 0xcf9
push str.src_compat_dvfs_stb_zip_v221.h
push str.code___TDEFL_MAX_HUFF_SYMBOLS_2
call dword [sym.imp.msvcrt.dll__assert]
push 0xcfd
jmp 0x10008d2a
push 0xda1
jmp 0x10008d2a
push 0xce9
jmp 0x10008d2a
push 0xcea
jmp 0x10008d2a
push 0xcf1
push str.src_compat_dvfs_stb_zip_v221.h
push str.bits_____1U____len____1U_
call dword [sym.imp.msvcrt.dll__assert]
push ebp
push ebx
push edi
push esi
mov eax, 0x15ac
call fcn.1000ba48
mov ebx, edx
mov esi, ecx
mov edi, dword [esp + 0x15c0]
lea eax, [esp + 0x28]
push 0x84
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
cmp dword [esp + 0x15c8], 0
je 0x10008d9a
test edi, edi
jle 0x10009163
lea eax, [ebx + ebx*8]
shl eax, 5
add eax, esi
add eax, 0x8f12
xor ecx, ecx
movzx edx, byte [eax + ecx]
inc dword [esp + edx*4 + 0x28]
inc ecx
cmp edi, ecx
jne 0x10008d88
jmp 0x10009163
lea ebp, [ebx + ebx*8]
mov eax, ebp
shl eax, 6
test edi, edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
jle 0x10008e26
add eax, esi
add eax, 0x8192
xor ecx, ecx
xor ebp, ebp
movzx edx, word [eax + ecx*2]
test dx, dx
je 0x10008dd3
mov word [esp + ebp*4 + 0x8ac], dx
mov word [esp + ebp*4 + 0x8ae], cx
inc ebp
inc ecx
cmp edi, ecx
jne 0x10008db9
lea eax, [esp + 0xac]
push 0x800
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
test ebp, ebp
sete byte [esp + 3]
je 0x10008e3d
mov edi, ebp
xor eax, eax
movzx ecx, word [esp + eax*4 + 0x8ac]
movzx edx, cl
inc dword [esp + edx*4 + 0xac]
shr ecx, 8
inc dword [esp + ecx*4 + 0x4ac]
inc eax
cmp edi, eax
jne 0x10008dfc
mov eax, dword [esp + 0x4ac]
jmp 0x10008e46
lea eax, [esp + 0xac]
push 0x800
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
xor edi, edi
mov byte [esp + 3], 1
xor eax, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 4], edi
cmp eax, edi
sete al
mov edi, 2
xor edx, edx
inc edx
xor ecx, ecx
mov ebp, edi
mov edi, edx
test al, 1
mov eax, 0
jne 0x10008e61
lea esi, [esp + 0x8ac]
lea edx, [esp + 0x112c]
lea ebx, [esp + 0xac]
xor eax, eax
mov dword [esp + 0x20], ebp
mov dword [esp + 0x10], eax
mov ebp, esi
mov esi, edx
xor edx, edx
xor edi, edi
mov dword [esp + edi*4 + 0xd2c], edx
add edx, dword [ebx + edi*4]
inc edi
cmp edi, 0x100
jne 0x10008e95
mov dword [esp + 0x24], ebx
cmp byte [esp + 3], 0
mov ebx, dword [esp + 4]
mov dword [esp + 8], esi
jne 0x10008ee8
xor edx, edx
movzx eax, word [ebp + edx*4]
shr eax, cl
movzx eax, al
mov edi, dword [esp + eax*4 + 0xd2c]
lea esi, [edi + 1]
mov dword [esp + eax*4 + 0xd2c], esi
mov esi, dword [esp + 8]
mov eax, dword [ebp + edx*4]
mov dword [esi + edi*4], eax
inc edx
cmp ebx, edx
jne 0x10008ebd
mov eax, dword [esp + 0x10]
inc eax
add ecx, 8
mov ebx, dword [esp + 0x24]
add ebx, 0x400
mov edx, ebp
mov ebp, dword [esp + 0x20]
cmp eax, ebp
jne 0x10008e89
cmp dword [esp + 4], 0
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x14]
je 0x100090d1
mov edi, dword [esp + 4]
cmp edi, 1
jne 0x10008f2a
mov word [esi], 1
jmp 0x1000903e
movzx eax, word [esi + 4]
add word [esi], ax
cmp edi, 3
jl 0x10008fd2
mov eax, 2
mov ebp, 2
sub ebp, edi
xor edx, edx
xor ecx, ecx
inc ecx
movzx edi, word [esi + edx*4]
cmp eax, dword [esp + 4]
jge 0x10008f5e
movzx ebx, word [esi + eax*4]
cmp di, bx
jae 0x10008f69
mov word [esi + ecx*4], di
mov word [esi + edx*4], cx
inc edx
jmp 0x10008f6e
inc eax
mov word [esi + ecx*4], bx
cmp eax, dword [esp + 4]
jge 0x10008f87
cmp edx, ecx
jge 0x10008f96
movzx ebx, word [esi + edx*4]
movzx edi, word [esi + eax*4]
cmp bx, di
jb 0x10008f8b
jmp 0x10008f9a
movzx ebx, word [esi + edx*4]
add word [esi + ecx*4], bx
mov word [esi + edx*4], cx
inc edx
jmp 0x10008f9f
movzx edi, word [esi + eax*4]
inc eax
add word [esi + ecx*4], di
lea esi, [ecx + ebp]
inc esi
inc ecx
cmp esi, 1
mov esi, dword [esp + 8]
jne 0x10008f4b
mov edi, dword [esp + 4]
lea eax, [edi - 2]
mov word [esi + edi*4 - 8], 0
lea ecx, [edi - 3]
movzx edx, word [esi + ecx*4]
movzx edx, word [esi + edx*4]
inc edx
mov word [esi + ecx*4], dx
add ecx, 0xffffffff
jb 0x10008fbe
jmp 0x10008fdc
lea eax, [edi - 2]
mov word [esi + edi*4 - 8], 0
lea ecx, [edi - 1]
xor ebx, ebx
inc ebx
xor edx, edx
test eax, eax
js 0x1000900e
lea ebp, [eax + 1]
mov dword [esp + 0x10], ebp
xor ebp, ebp
movzx esi, word [esi + eax*4]
cmp edx, esi
jne 0x10009012
inc ebp
dec eax
cmp dword [esp + 0x10], ebp
mov esi, dword [esp + 8]
jne 0x10008ff1
xor eax, eax
dec eax
mov ebp, dword [esp + 0x10]
jmp 0x1000901e
xor ebp, ebp
jmp 0x1000901e
mov esi, dword [esp + 8]
jmp 0x1000901e
mov word [esi + ecx*4], dx
dec ecx
dec ebx
cmp ebx, ebp
jg 0x10009018
lea ebx, [ebp*2]
inc edx
test ebp, ebp
jne 0x10008fe4
test edi, edi
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x14]
jle 0x100090d1
xor eax, eax
mov edx, dword [esp + 4]
movzx ecx, word [esi + eax*4]
inc dword [esp + ecx*4 + 0x28]
inc eax
cmp edx, eax
jne 0x10009044
cmp edx, 2
jl 0x100090d1
mov edx, dword [esp + 0x15c4]
cmp edx, 0x20
jge 0x1000907a
mov eax, dword [esp + edx*4 + 0x28]
mov ecx, edx
add eax, dword [esp + ecx*4 + 0x2c]
inc ecx
mov dword [esp + edx*4 + 0x28], eax
cmp ecx, 0x20
jne 0x10009068
test edx, edx
jle 0x1000909c
inc edx
xor ecx, ecx
xor eax, eax
mov esi, dword [esp + edx*4 + 0x24]
shl esi, cl
add eax, esi
dec edx
inc ecx
cmp edx, 1
ja 0x1000907f
xor edx, edx
inc edx
mov ecx, dword [esp + 0x15c4]
shl edx, cl
jmp 0x100090a7
mov ecx, edx
xor edx, edx
inc edx
shl edx, cl
xor eax, eax
jmp 0x100090ab
cmp eax, edx
je 0x100090d1
mov ecx, dword [esp + 0x15c4]
dec dword [esp + ecx*4 + 0x28]
cmp ecx, 2
jl 0x100090ce
mov edi, dword [esp + ecx*4 + 0x24]
dec ecx
test edi, edi
je 0x100090b6
dec edi
mov dword [esp + ecx*4 + 0x28], edi
add dword [esp + ecx*4 + 0x2c], 2
dec eax
jmp 0x100090a7
shl ebp, 5
lea eax, [ebx + ebp]
add eax, 0x8f12
xor esi, esi
push 0x120
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x18]
add eax, ebx
add eax, 0x8852
push 0x240
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
cmp dword [esp + 0x15c4], 0
mov edi, dword [esp + 0x15c0]
jle 0x1000915b
xor eax, eax
inc eax
add ebp, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov ecx, dword [esp + eax*4 + 0x28]
test ecx, ecx
jle 0x10009145
inc ecx
mov ebx, dword [esp + 4]
movzx edx, word [esi + ebx*4 - 2]
dec ebx
mov byte [edx + ebp + 0x8f12], al
dec ecx
cmp ecx, 1
ja 0x10009130
jmp 0x10009149
mov ebx, dword [esp + 4]
mov dword [esp + 4], ebx
lea ecx, [eax + 1]
cmp eax, dword [esp + 0x15c4]
mov eax, ecx
jne 0x10009123
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xb0], 0
mov edx, dword [esp + 0x15c4]
cmp edx, 2
jl 0x10009191
dec edx
xor eax, eax
xor ecx, ecx
add ecx, dword [esp + eax*4 + 0x2c]
add ecx, ecx
mov dword [esp + eax*4 + 0xb4], ecx
inc eax
cmp edx, eax
jne 0x1000917f
test edi, edi
jle 0x100091f0
xor eax, eax
lea ecx, [ebx + ebx*8]
mov edx, ecx
shl edx, 5
add edx, esi
shl ecx, 6
add ecx, esi
movzx esi, byte [eax + edx + 0x8f12]
test esi, esi
je 0x100091eb
mov edi, dword [esp + esi*4 + 0xac]
lea ebx, [edi + 1]
mov dword [esp + esi*4 + 0xac], ebx
inc esi
xor ebx, ebx
mov ebp, edi
and ebp, 1
lea ebx, [ebx*2]
add ebx, ebp
shr edi, 1
dec esi
cmp esi, 1
ja 0x100091c6
mov word [ecx + eax*2 + 0x8852], bx
mov edi, dword [esp + 0x15c0]
inc eax
cmp eax, edi
jne 0x100091a6
add esp, 0x15ac
pop esi
pop edi
pop ebx
pop ebp
ret