Function at 0x10167290
Capabilities:
Check http status code
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101caec6
mov eax, dword fs:[0]
push eax
sub esp, 0x2f4
mov eax, dword [0x1021e964]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x1a0], esi
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1bc], 0
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x2c4]
shl ecx, 2
add eax, ecx
mov dword [ebp - 0x1c8], ecx
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [esi + 0x70]
xor ecx, ecx
sar edx, 5
and eax, 0xfffffbff
mov edi, edx
mov dword [esi + 0x70], eax
shr edi, 0x1f
xor eax, eax
add edi, edx
movq qword [ebp - 0x1c], xmm0
xor edx, edx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1ac], edi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0x14], edx
test edi, edi
je 0x1016739a
cmp edi, 0x3fffffff
ja 0x10168dcd
push edi
lea ecx, [ebp - 0x1c]
call fcn.1004a3c0
lea ecx, [edi*4]
mov dword [ebp - 0x1c], eax
push ecx
push 0
lea edi, [ecx + eax]
mov edx, edi
mov dword [ebp - 0x1d0], edi
push eax
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0x14], edx
call fcn.101a4190
mov dword [ebp - 0x18], edi
mov ecx, edi
mov edi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, edi
jmp 0x1016739d
mov edi, dword [ebp - 0x1c]
sub ecx, edx
mov dword [ebp - 4], 1
sar ecx, 2
xor eax, eax
test ecx, ecx
jle 0x101673cc
mov ecx, dword [ebp - 0x1d0]
sub ecx, edi
sar ecx, 2
nop word [eax + eax]
mov dword [edx + eax*4], 0
inc eax
cmp eax, ecx
jl 0x101673c0
mov edi, dword [ebp - 0x1a4]
mov dword [ebp - 0x19c], edi
nop dword [eax + eax]
push 0
push dword [ebp - 0x1d4]
mov ecx, esi
call fcn.1016a9e0
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp dword [ebp - 0x1ac], ecx
jle 0x101675ea
xor eax, eax
mov dword [ebp - 0x1b4], eax
nop dword [eax + eax]
mov esi, dword [esi + 0x2c4]
add esi, dword [ebp - 0x1c8]
mov esi, dword [esi]
add esi, eax
mov eax, dword [esi + 8]
lea edi, [esi + 0x90]
and eax, 0x17
cmp al, 5
jne 0x1016758d
mov dword [esi + 8], 1
mov dword [ebp - 0x1a8], 0
push dword [esi + 0x1c]
mov ecx, dword [edi]
push dword [esi + 0x18]
push edi
push esi
call fcn.101698b0
cmp dword [edi + 4], 0
jne 0x10167482
test eax, eax
je 0x10167482
mov dword [esi + 0xa8], eax
xor al, al
cmp dword [ebp - 0x1a8], 0
jne 0x101674df
mov dword [esi + 8], 2
mov dword [ebp - 0x1a8], 1
jmp 0x10167445
cmp dword [ebp - 0x1a8], 0
mov al, 1
mov byte [ebp - 0x191], al
jbe 0x101674df
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 4
je 0x101674d9
mov eax, dword [esi + 4]
and eax, 0xf00
cmp eax, 0x100
je 0x101674cb
cmp eax, 0x200
je 0x101674bd
cmp eax, 0x400
jne 0x101674d5
mov dword [esi + 0xa8], 0xc8
xor al, al
jmp 0x101674df
mov dword [esi + 0xa8], 0x11
xor al, al
jmp 0x101674df
mov al, byte [ebp - 0x191]
mov dword [esi + 8], 5
test al, al
je 0x101675b4
mov edi, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1b8]
push 0
mov eax, dword [edi + 0x2ec]
push esi
push ecx
mov dword [eax + edx*4], ecx
mov eax, esp
lea ecx, [ebp - 0x2dc]
push ecx
mov ecx, edi
mov dword [eax], 0x24
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 0
jne 0x10168d46
push 0
lea eax, [edi + 0x300]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2fc]
push ecx
mov ecx, edi
mov dword [eax], 6
mov eax, dword [edi]
call dword [eax + 8]
push 0
lea eax, [edi + 0x304]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x264]
push ecx
mov ecx, edi
mov dword [eax], 7
mov eax, dword [edi]
call dword [eax + 8]
push 0
push esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x2b4]
push ecx
mov ecx, edi
mov dword [eax], 0x25
mov eax, dword [edi]
call dword [eax + 8]
jmp 0x10168d46
push dword [esi + 0x1c]
mov ecx, dword [edi]
push dword [esi + 0x18]
push edi
push esi
call fcn.101698b0
cmp dword [edi + 4], 0
jne 0x101674ee
test eax, eax
je 0x101674ee
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1b4]
inc ecx
mov esi, dword [ebp - 0x1a0]
add eax, 0xc0
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], eax
cmp ecx, dword [ebp - 0x1ac]
jl 0x10167410
mov edi, dword [ebp - 0x19c]
push 0xb0
lea eax, [ebp - 0xd4]
mov byte [ebp - 0x1cc], 0
push 0
push eax
call fcn.101a4190
add esp, 0xc
mov dword [ebp - 0xd4], 0x10010fcc
mov dword [ebp - 0xc4], 0x10010fd4
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x6c], 0x10010e20
push 0
push 0
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 3
or edi, 1
lea ecx, [ebp - 0xd4]
push eax
mov dword [ebp - 0x19c], edi
mov dword [ebp - 0x1a4], edi
call fcn.1004d4b0
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc4], 0x10010e28
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xc8], eax
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd4], 0x10010fc0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x20]
mov dword [ebp + ecx - 0xd8], eax
mov eax, dword [ebp - 0xd4]
push 8
mov dword [ebp - 4], 7
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd4], 0x10010fc8
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xd8], eax
mov dword [ebp - 0xbc], 0x10010e30
call fcn.1018d216
mov esi, eax
add esp, 4
test esi, esi
je 0x10167717
xorps xmm0, xmm0
movq qword [esi], xmm0
push 1
mov byte [ebp - 4], 8
call fcn.1018eee4
add esp, 4
mov dword [esi + 4], eax
jmp 0x10167719
xor esi, esi
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x94]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xbc], 0x10010e70
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
xorps xmm0, xmm0
mov dword [ebp - 0x114], 0
movups xmmword [ebp - 0x134], xmm0
xor esi, esi
mov dword [ebp - 0x1b8], 0
movups xmmword [ebp - 0x124], xmm0
mov dword [ebp - 0x134], 0x1002942c
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x128], esi
mov byte [ebp - 0x124], 1
movups xmmword [ebp - 0x120], xmm0
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x1ac], esi
jbe 0x1016784e
mov esi, dword [ebp - 0x1ac]
xor ecx, ecx
mov eax, esi
mov edx, 0x28
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1018d254
add esp, 4
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x12c], esi
jmp 0x10167850
xor eax, eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x1ac]
xor edx, edx
mov byte [ebp - 4], 0xb
test ecx, ecx
jle 0x101678de
mov edi, dword [ebp - 0x1a0]
nop dword [eax]
nop word [eax + eax]
mov eax, dword [edi + 0x2c4]
lea ecx, [edx + edx*2]
add eax, dword [ebp - 0x1c8]
mov edi, dword [ebp - 0x1b4]
shl ecx, 6
add ecx, dword [eax]
cmp edx, esi
sbb eax, eax
and eax, edx
inc edx
movups xmm0, xmmword [ecx + 4]
lea eax, [eax + eax*4]
movups xmmword [edi + eax*8], xmm0
movups xmm0, xmmword [ecx + 0x14]
movups xmmword [edi + eax*8 + 0x10], xmm0
movq xmm0, qword [ecx + 0x24]
mov ecx, edi
mov edi, dword [ebp - 0x1a0]
movq qword [ecx + eax*8 + 0x20], xmm0
cmp edx, dword [ebp - 0x1ac]
jl 0x10167880
mov edi, dword [ebp - 0x19c]
mov eax, ecx
mov ecx, dword [ebp - 0x1ac]
xor edx, edx
test esi, esi
mov esi, dword [ebp - 0x1a0]
push ecx
cmove eax, edx
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2c0]
push ecx
mov ecx, esi
mov dword [eax], 0x20
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
cmp dword [ebp - 0x1bc], 0
seta byte [ebp - 0x191]
mov eax, dword [eax]
cmp eax, 4
je 0x10168c1d
cmp eax, 8
je 0x10168d30
push 0
push 0
push ecx
mov eax, esp
lea ecx, [ebp - 0x2bc]
push ecx
mov ecx, esi
mov dword [eax], 9
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
jne 0x10167988
push 0
push 0
push ecx
mov eax, esp
mov byte [ebp - 0x191], 1
lea ecx, [ebp - 0x2b8]
push ecx
mov ecx, esi
mov dword [eax], 8
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebp - 0x1cc]
movzx ecx, cl
cmp dword [eax], 4
mov eax, 1
cmove ecx, eax
mov dword [ebp - 0x1cc], ecx
push 0
lea eax, [esi + 0x300]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2d8]
push ecx
mov ecx, esi
mov dword [eax], 6
mov eax, dword [esi]
call dword [eax + 8]
push 0
lea eax, [esi + 0x304]
push eax
push ecx
mov dword [ebp - 0x1c0], eax
lea ecx, [ebp - 0x300]
mov eax, esp
push ecx
mov ecx, esi
mov dword [eax], 7
mov eax, dword [esi]
call dword [eax + 8]
lea eax, [ebp - 0xc4]
mov byte [ebp - 0x1c4], 1
xorps xmm0, xmm0
push 0x10029430
push eax
movlpd qword [ebp - 0x24], xmm0
call fcn.1004cd80
mov esi, eax
add esp, 8
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + esi + 0x30]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x29c], ecx
mov edx, dword [ecx]
call dword [edx + 4]
lea eax, [ebp - 0x2a0]
mov byte [ebp - 4], 0xc
push eax
call fcn.1003fed0
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0xa
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x29c]
mov byte [ebp - 0x268], al
mov byte [ebp - 4], 0xb
test ecx, ecx
je 0x10167a4f
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10167a4f
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x268]
mov ecx, esi
call fcn.100abc10
mov ecx, esi
call fcn.1004bd30
xor esi, esi
mov dword [ebp - 0x1a8], esi
cmp dword [ebp - 0x1ac], esi
jle 0x101682a1
xor ecx, ecx
mov dword [ebp - 0x1dc], ecx
nop
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 0x2c4]
add eax, dword [ebp - 0x1c8]
mov edi, dword [eax]
mov eax, 0x10022e10
add edi, ecx
mov ecx, dword [ebp - 0x1c0]
cmp dword [ecx], 0x4e4
mov ecx, 0x1002945c
cmove eax, ecx
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.1004cd80
mov eax, dword [ebp - 0x1b8]
add esp, 8
or eax, dword [edi + 4]
mov ecx, edi
mov dword [ebp - 0x1b8], eax
lea eax, [ebp - 0x2f8]
push eax
call fcn.10093350
cmp dword [eax + 0x18], 0x10
lea ecx, [eax + 4]
mov byte [ebp - 4], 0xd
jb 0x10167aec
mov ecx, dword [eax + 4]
push dword [eax + 0x14]
lea eax, [ebp - 0xc4]
push ecx
push eax
call fcn.100a5c10
mov edx, dword [ebp - 0x2e0]
add esp, 0xc
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x2f8], 0x10010c38
cmp edx, 0x10
jb 0x10167b4f
mov ecx, dword [ebp - 0x2f4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0xe
cmp edx, 0x1000
jb 0x10167b41
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push edx
push ecx
call fcn.1018d246
add esp, 8
mov byte [ebp - 4], 0xb
cmp byte [ebp - 0x191], 0
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2e0], 0xf
mov byte [ebp - 0x2f4], 0
je 0x101681ea
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [edi + 0xa8]
mov dword [ecx + eax*4], esi
test esi, esi
jns 0x10167ba3
mov eax, dword [ebp - 0x1c4]
mov word [ebp - 0x20], 0
mov byte [ebp - 0x1e], 0
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x24], esi
cmp byte [ebp - 0x1cc], 0
je 0x101681a9
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
mov dword [ebp - 0x10c], 0x10010c38
mov byte [ebp - 4], 0xf
test esi, esi
js 0x10167bf9
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10c]
push eax
push esi
push edi
mov edi, dword [ebp - 0x1a0]
mov ecx, edi
call fcn.1016ab00
jmp 0x10167bff
mov edi, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0x94]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2a4], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 0x10
push eax
call fcn.1003fed0
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0xa
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x2a4]
mov byte [ebp - 0x210], al
mov byte [ebp - 4], 0xf
test ecx, ecx
je 0x10167c62
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10167c62
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x210]
lea ecx, [ebp - 0xc4]
call fcn.100abc10
lea ecx, [ebp - 0xc4]
call fcn.1004bd30
lea eax, [ebp - 0xc4]
push 0x10029460
push eax
call fcn.1004cd80
add esp, 8
mov dword [ebp - 0x188], 0
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x24]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2c4]
push ecx
mov ecx, edi
mov dword [eax], 0xa
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
jne 0x10168103
test esi, esi
js 0x101680ec
mov eax, dword [ebp - 0x19c]
xor edi, edi
mov ecx, dword [ebp - 0x80]
or eax, 0x10
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x230], edi
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1a4], eax
test cl, 2
jne 0x10167d31
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x10167d31
mov eax, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x84]
cmovb edx, dword [ebp - 0x84]
mov ecx, dword [eax]
sub edx, ecx
push edx
jmp 0x10167d57
test cl, 4
jne 0x10167d6c
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x10167d6c
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub eax, ecx
add eax, edx
push eax
push ecx
lea ecx, [ebp - 0x240]
call fcn.1004a870
mov edi, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x19c]
and eax, 0xffffffef
mov dword [ebp - 4], 0xf
or eax, 8
or eax, 0x40
mov byte [ebp - 4], 0x13
xor esi, esi
mov dword [ebp - 0x1e0], 0xf
mov dword [ebp - 0x1e4], esi
mov byte [ebp - 0x1f4], 0
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1a4], eax
test cl, 2
jne 0x10167dd6
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x10167dd6
mov eax, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x84]
cmovb edx, dword [ebp - 0x84]
mov ecx, dword [eax]
sub edx, ecx
push edx
jmp 0x10167dfc
test cl, 4
jne 0x10167e0e
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x10167e0e
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub eax, ecx
add eax, edx
push eax
push ecx
lea ecx, [ebp - 0x1f4]
call fcn.1004a870
mov esi, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x19c]
and eax, 0xffffffbf
mov dword [ebp - 4], 0x12
or eax, 0x20
mov dword [ebp - 0x19c], eax
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
cmp esi, edi
jb 0x10168ddc
or ecx, 0xffffffff
lea eax, [ebp - 0x1f4]
sub esi, edi
cmp esi, 0xffffffff
cmovb ecx, esi
cmp dword [ebp - 0x1e0], 0x10
push ecx
cmovae eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x228]
add eax, edi
push eax
call fcn.1004a870
or dword [ebp - 0x19c], 0x80
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x15
call fcn.1004a0c0
cmp dword [ebp - 0x214], 0x10
lea eax, [ebp - 0x228]
mov esi, dword [ebp - 0x228]
mov edi, dword [ebp - 0x218]
cmovae eax, esi
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1b0], edx
cmp edi, 0x7fffffff
ja 0x10168dd7
test edi, edi
je 0x10167fd0
mov eax, edx
and eax, 6
cmp al, 6
je 0x10167fd0
cmp edi, 0x1000
jb 0x10167f16
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x10168dd2
push eax
call fcn.1018d216
add esp, 4
test eax, eax
je 0x10168dc8
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x10167f21
push edi
call fcn.1018d216
add esp, 4
mov esi, eax
push edi
push dword [ebp - 0x1a4]
push esi
call fcn.101a3c10
mov edx, dword [ebp - 0x1b0]
lea eax, [edi + esi]
mov dword [ebp - 0x1a4], eax
add esp, 0xc
mov dword [ebp - 0x84], eax
mov eax, edx
and eax, 4
mov dword [ebp - 0x1b0], eax
jne 0x10167f73
mov eax, dword [ebp - 0xb0]
mov dword [eax], esi
mov eax, dword [ebp - 0xa0]
mov dword [eax], esi
mov eax, dword [ebp - 0x90]
mov dword [eax], edi
mov edi, dword [ebp - 0x84]
jmp 0x10167f79
mov edi, dword [ebp - 0x1a4]
test dl, 2
jne 0x10167fc5
mov eax, dword [ebp - 0xac]
test dl, 0x18
mov ecx, esi
cmovne ecx, edi
sub edi, ecx
cmp dword [ebp - 0x1b0], 0
mov dword [eax], esi
mov eax, dword [ebp - 0x9c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov dword [eax], edi
je 0x10167fc5
mov eax, dword [ebp - 0xb0]
mov dword [eax], esi
mov eax, dword [ebp - 0xa0]
mov dword [eax], 0
mov eax, dword [ebp - 0x90]
mov dword [eax], esi
mov esi, dword [ebp - 0x198]
or edx, 1
jmp 0x10167fda
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x80], edx
cmp eax, 0x10
jb 0x10168017
lea ecx, [eax + 1]
mov eax, esi
mov byte [ebp - 4], 0x16
cmp ecx, 0x1000
jb 0x1016800d
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push ecx
push esi
call fcn.1018d246
add esp, 8
mov edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
cmp edx, 0x10
jb 0x10168070
mov ecx, dword [ebp - 0x1f4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x17
cmp edx, 0x1000
jb 0x10168066
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push edx
push ecx
call fcn.1018d246
add esp, 8
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0xf
mov byte [ebp - 0x1f4], 0
mov byte [ebp - 4], 0xf
cmp edx, 0x10
jb 0x101680d1
mov ecx, dword [ebp - 0x240]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x18
cmp edx, 0x1000
jb 0x101680c3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push edx
push ecx
call fcn.1018d246
add esp, 8
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
push dword [ebp - 0x188]
lea eax, [ebp - 0xc4]
push eax
call fcn.1004cd80
add esp, 8
jmp 0x1016812d
cmp dword [ebp - 0xf4], 0x10
lea eax, [ebp - 0x108]
push dword [ebp - 0xf8]
cmovae eax, dword [ebp - 0x108]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100a5c10
add esp, 0xc
mov eax, dword [ebp - 0x1c4]
xor ecx, ecx
cmp byte [ebp - 0x1d], cl
mov edx, dword [ebp - 0xf4]
movzx eax, al
cmove eax, ecx
mov dword [ebp - 0x10c], 0x10010c38
mov dword [ebp - 0x1c4], eax
cmp edx, 0x10
jb 0x1016818c
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x19
cmp edx, 0x1000
jb 0x10168182
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push edx
push ecx
call fcn.1018d246
add esp, 8
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
jmp 0x101681e4
mov ecx, edi
call fcn.100932b0
push 0x1001266c
push esi
push eax
lea eax, [ebp - 0xc4]
push 0x10029474
push eax
call fcn.1004cd80
add esp, 8
push eax
call fcn.1004cd80
add esp, 8
mov ecx, eax
call fcn.100451e0
push eax
call fcn.1004cd80
add esp, 8
mov esi, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0x94]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2ac], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x2b0]
mov byte [ebp - 4], 0x1a
push eax
call fcn.1003fed0
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0xa
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x2ac]
mov byte [ebp - 0x25c], al
mov byte [ebp - 4], 0xb
test ecx, ecx
je 0x1016824d
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x1016824d
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x25c]
lea ecx, [ebp - 0xc4]
call fcn.100abc10
lea ecx, [ebp - 0xc4]
call fcn.1004bd30
mov ecx, dword [ebp - 0x1dc]
inc esi
add ecx, 0xc0
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x1dc], ecx
cmp esi, dword [ebp - 0x1ac]
jl 0x10167a80
cmp byte [ebp - 0x1c4], 0
mov edi, dword [ebp - 0x19c]
je 0x10168706
mov esi, dword [ebp - 0x1a0]
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x18c], 0
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2c8]
push ecx
mov ecx, esi
mov dword [eax], 0xb
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
jne 0x1016870c
mov ecx, dword [ebp - 0x80]
or edi, 0x200
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
mov dword [ebp - 0x1a4], edi
test cl, 2
jne 0x10168337
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x10168337
mov eax, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x84]
cmovb edx, dword [ebp - 0x84]
mov ecx, dword [eax]
sub edx, ecx
push edx
jmp 0x1016835d
test cl, 4
jne 0x1016836c
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x1016836c
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub eax, ecx
add eax, edx
push eax
push ecx
lea ecx, [ebp - 0x280]
call fcn.1004a870
mov ecx, dword [ebp - 0x80]
and edi, 0xfffffdff
mov dword [ebp - 4], 0xb
or edi, 0x100
xor esi, esi
mov byte [ebp - 4], 0x1d
or edi, 0x800
mov dword [ebp - 0x1fc], esi
mov dword [ebp - 0x1f8], 0xf
mov byte [ebp - 0x20c], 0
mov dword [ebp - 0x1a4], edi
test cl, 2
jne 0x101683d3
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x101683d3
mov eax, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x84]
cmovb edx, dword [ebp - 0x84]
mov ecx, dword [eax]
sub edx, ecx
push edx
jmp 0x101683f9
test cl, 4
jne 0x1016840b
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x1016840b
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub eax, ecx
add eax, edx
push eax
push ecx
lea ecx, [ebp - 0x20c]
call fcn.1004a870
mov esi, dword [ebp - 0x1fc]
and edi, 0xfffff7ff
mov dword [ebp - 4], 0x1c
or edi, 0x400
mov edx, dword [ebp - 0x270]
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
cmp esi, edx
jb 0x10168ddc
sub esi, edx
lea eax, [ebp - 0x20c]
or ecx, 0xffffffff
cmp esi, 0xffffffff
cmovb ecx, esi
cmp dword [ebp - 0x1f8], 0x10
push ecx
cmovae eax, dword [ebp - 0x20c]
lea ecx, [ebp - 0x258]
add eax, edx
push eax
call fcn.1004a870
or edi, 0x1000
mov dword [ebp - 0x19c], edi
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x1f
call fcn.1004a0c0
cmp dword [ebp - 0x244], 0x10
lea eax, [ebp - 0x258]
mov esi, dword [ebp - 0x258]
mov edi, dword [ebp - 0x248]
cmovae eax, esi
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0x1c0], esi
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x1b0], edx
cmp edi, 0x7fffffff
ja 0x10168dd7
test edi, edi
je 0x101685cf
mov eax, edx
and eax, 6
cmp al, 6
je 0x101685cf
cmp edi, 0x1000
jb 0x10168515
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x10168dd2
push eax
call fcn.1018d216
add esp, 4
test eax, eax
je 0x10168dc8
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x10168520
push edi
call fcn.1018d216
add esp, 4
mov esi, eax
push edi
push dword [ebp - 0x198]
push esi
call fcn.101a3c10
mov edx, dword [ebp - 0x1b0]
lea eax, [esi + edi]
mov dword [ebp - 0x198], eax
add esp, 0xc
mov dword [ebp - 0x84], eax
mov eax, edx
and eax, 4
mov dword [ebp - 0x1b0], eax
jne 0x10168572
mov eax, dword [ebp - 0xb0]
mov dword [eax], esi
mov eax, dword [ebp - 0xa0]
mov dword [eax], esi
mov eax, dword [ebp - 0x90]
mov dword [eax], edi
mov edi, dword [ebp - 0x84]
jmp 0x10168578
mov edi, dword [ebp - 0x198]
test dl, 2
jne 0x101685c4
mov eax, dword [ebp - 0xac]
test dl, 0x18
mov ecx, esi
cmovne ecx, edi
sub edi, ecx
cmp dword [ebp - 0x1b0], 0
mov dword [eax], esi
mov eax, dword [ebp - 0x9c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov dword [eax], edi
je 0x101685c4
mov eax, dword [ebp - 0xb0]
mov dword [eax], esi
mov eax, dword [ebp - 0xa0]
mov dword [eax], 0
mov eax, dword [ebp - 0x90]
mov dword [eax], esi
mov esi, dword [ebp - 0x1c0]
or edx, 1
jmp 0x101685d9
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x80], edx
cmp eax, 0x10
jb 0x10168616
lea ecx, [eax + 1]
mov eax, esi
mov byte [ebp - 4], 0x20
cmp ecx, 0x1000
jb 0x1016860c
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push ecx
push esi
call fcn.1018d246
add esp, 8
mov edx, dword [ebp - 0x1f8]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
cmp edx, 0x10
jb 0x1016866f
mov ecx, dword [ebp - 0x20c]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x21
cmp edx, 0x1000
jb 0x10168665
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push edx
push ecx
call fcn.1018d246
add esp, 8
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x1f8], 0xf
mov byte [ebp - 0x20c], 0
mov byte [ebp - 4], 0xb
cmp edx, 0x10
jb 0x101686d0
mov ecx, dword [ebp - 0x280]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x22
cmp edx, 0x1000
jb 0x101686c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push edx
push ecx
call fcn.1018d246
add esp, 8
mov byte [ebp - 4], 0xb
push dword [ebp - 0x18c]
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x270], 0
push eax
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
call fcn.1004cd80
mov edi, dword [ebp - 0x19c]
add esp, 8
mov esi, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x80]
or edi, 0x4000
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x284], 0xf
mov byte [ebp - 0x298], 0
mov dword [ebp - 0x1a4], edi
test cl, 2
jne 0x10168765
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x10168765
mov eax, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x84]
cmovb edx, dword [ebp - 0x84]
mov ecx, dword [eax]
sub edx, ecx
push edx
jmp 0x1016878b
test cl, 4
jne 0x10168797
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x10168797
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub eax, ecx
add eax, edx
push eax
push ecx
lea ecx, [ebp - 0x298]
call fcn.1004a870
and edi, 0xffffbfff
mov dword [ebp - 4], 0xb
or edi, 0x2000
mov dword [ebp - 0x19c], edi
mov dword [ebp - 0x1a4], edi
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0x24
push eax
lea ecx, [ebp - 0xec]
call fcn.10040730
mov dword [ebp - 0xf0], 0x10010c38
mov edx, dword [ebp - 0x284]
mov byte [ebp - 4], 0x26
cmp edx, 0x10
jb 0x1016881c
mov ecx, dword [ebp - 0x298]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x27
cmp edx, 0x1000
jb 0x1016880e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push edx
push ecx
call fcn.1018d246
add esp, 8
mov byte [ebp - 4], 0x26
cmp dword [ebp - 0xd8], 0x10
lea eax, [ebp - 0xec]
push 0
cmovae eax, dword [ebp - 0xec]
push eax
push ecx
mov dword [ebp - 0x1c0], eax
lea ecx, [ebp - 0x2cc]
mov eax, esp
mov dword [ebp - 0x288], 0
push ecx
mov ecx, esi
mov dword [ebp - 0x284], 0xf
mov byte [ebp - 0x298], 0
mov dword [eax], 0x21
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
mov eax, dword [eax]
cmp eax, 4
jne 0x1016889f
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xf0], 0x10010c38
cmp edx, 0x10
jb 0x10168c1d
mov ecx, dword [ebp - 0xec]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x28
jmp 0x10168bf7
cmp eax, 8
je 0x10168d86
push 0
lea eax, [ebp - 0x190]
mov dword [ebp - 0x190], 0x10029480
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2d0]
push ecx
mov ecx, esi
mov dword [eax], 4
mov eax, dword [esi]
call dword [eax + 8]
push dword [ebp - 0x1bc]
lea eax, [ebp - 0x24]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2d4]
push ecx
mov ecx, esi
mov dword [eax], 2
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0x1bc]
cmp eax, dword [esi + 0x308]
setb al
mov byte [ebp - 0x191], al
cmp ecx, 4
je 0x1016891a
cmp ecx, 8
jne 0x10168922
xor al, al
jmp 0x1016891c
mov al, 1
mov byte [ebp - 0x191], al
xor cl, cl
cmp byte [ebp + 0xc], cl
je 0x10168950
test al, al
je 0x10168950
push 0
push 0
push ecx
mov eax, esp
lea ecx, [ebp - 0x260]
push ecx
mov ecx, esi
mov dword [eax], 3
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
sete cl
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
mov dword [ebp - 0x170], 0x10010c38
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
mov dword [ebp - 0x154], 0x10010c38
cmp byte [ebp - 0x191], 0
mov eax, dword [ebp - 0x1d4]
mov byte [ebp - 4], 0x2a
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], 1
mov dword [ebp - 0x17c], 4
je 0x101689dc
test cl, cl
mov eax, 0x22
mov ecx, 0xb0
cmovne eax, ecx
mov dword [ebp - 0x180], eax
mov esi, dword [ebp - 0x1d0]
xor ecx, ecx
sub esi, dword [ebp - 0x1c]
xor eax, eax
sar esi, 2
xor edx, edx
mov dword [ebp - 0x198], esi
test esi, esi
jle 0x10168aa1
mov eax, dword [ebp - 0x1a0]
mov edi, ecx
mov eax, dword [eax + 0x2c4]
add eax, dword [ebp - 0x1c8]
xor esi, esi
mov eax, dword [eax]
mov dword [ebp - 0x1b0], eax
nop word [eax + eax]
mov eax, dword [eax + esi + 4]
cmp eax, 0x100
je 0x10168a70
cmp eax, 0x200
je 0x10168a39
cmp eax, 0x400
jne 0x10168a7a
mov eax, dword [ebp - 0x1c]
test ecx, ecx
jne 0x10168a45
mov ecx, dword [eax + edx*4]
jmp 0x10168a7a
mov eax, dword [eax + edx*4]
cmp eax, 0x65
je 0x10168a7a
cmp ecx, 0x65
je 0x10168a6c
cmp ecx, 0xc8
je 0x10168a6c
cmp eax, 0xc8
je 0x10168a7a
cmp eax, ecx
je 0x10168a7a
mov ecx, 0xe6
jmp 0x10168a7a
mov ecx, eax
jmp 0x10168a7a
test edi, edi
jne 0x10168a7a
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + edx*4]
mov eax, dword [ebp - 0x1b0]
inc edx
add esi, 0xc0
cmp edx, dword [ebp - 0x198]
jl 0x10168a20
mov dword [ebp - 0x1a8], edi
mov edi, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1a8]
push dword [ebp - 0x190]
test ecx, ecx
cmovne eax, ecx
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x174], eax
call fcn.100a1d40
push dword [ebp - 0x1c0]
lea ecx, [ebp - 0x154]
call fcn.100a1d40
mov esi, dword [ebp - 0x1a0]
lea ecx, [ebp - 0x184]
push 0
push ecx
push 0
mov eax, dword [esi]
lea ecx, [ebp - 0x110]
push ecx
mov ecx, esi
mov byte [ebp - 0x138], 1
call dword [eax + 4]
mov eax, dword [ebp - 0x110]
cmp eax, 0x20
jne 0x10168cc2
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x154], 0x10010c38
cmp edx, 0x10
jb 0x10168b57
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x2b
cmp edx, 0x1000
jb 0x10168b4d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push edx
push ecx
call fcn.1018d246
add esp, 8
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
mov dword [ebp - 0x170], 0x10010c38
cmp edx, 0x10
jb 0x10168bba
mov ecx, dword [ebp - 0x16c]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x2c
cmp edx, 0x1000
jb 0x10168bb0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push edx
push ecx
call fcn.1018d246
add esp, 8
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
mov dword [ebp - 0xf0], 0x10010c38
cmp edx, 0x10
jb 0x10168c1d
mov ecx, dword [ebp - 0xec]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x2d
cmp edx, 0x1000
jb 0x10168c13
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push edx
push ecx
call fcn.1018d246
add esp, 8
inc dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x134], 0x1002942c
test eax, eax
je 0x10168c40
push eax
call fcn.1018d25d
add esp, 4
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x12c], 0
mov byte [ebp - 0x124], 1
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd4], 0x10010fc8
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xd8], eax
lea ecx, [ebp - 0xbc]
call fcn.10042e40
lea ecx, [ebp - 0xb4]
call fcn.1004d890
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x32
push eax
mov dword [ebp - 0x6c], 0x10010bd4
call fcn.1018f4e5
add esp, 4
mov byte [ebp - 4], 1
jmp 0x101673e0
cmp eax, 0x80
jne 0x10168cdd
mov eax, dword [esi + 0x70]
mov edx, dword [ebp - 0x14]
or eax, 0x200
mov dword [esi + 0x70], eax
mov dword [ebp - 0x1d8], edx
lea ecx, [ebp - 0x184]
call fcn.10053c80
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xf0], 0x10010c38
cmp edx, 0x10
jb 0x10168d30
mov ecx, dword [ebp - 0xec]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x2e
cmp edx, 0x1000
jb 0x10168d26
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10168dc8
push edx
push ecx
call fcn.1018d246
add esp, 8
lea ecx, [ebp - 0x134]
call fcn.10164730
lea ecx, [ebp - 0xd4]
call fcn.1004ddc0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0x33
test eax, eax
je 0x10168d69
mov ecx, dword [ebp - 0x1d8]
sub ecx, eax
sar ecx, 2
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.1004ab80
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1018d760
mov esp, ebp
pop ebp
ret 8
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xf0], 0x10010c38
cmp edx, 0x10
jb 0x10168d30
mov ecx, dword [ebp - 0xec]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x29
cmp edx, 0x1000
jb 0x10168d26
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10168d26
call fcn.100be3b4
call fcn.1004a330
call fcn.1004a070
call fcn.1018e5ad
call fcn.1004a340
int3