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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101dd49b
mov eax, dword fs:[0]
push eax
sub esp, 0x2dc
mov eax, dword [0x10205ac8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x188], edi
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1a4], 0
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x2c4]
shl ecx, 2
add eax, ecx
mov dword [ebp - 0x1b0], ecx
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [edi + 0x70]
xor ecx, ecx
sar edx, 5
and eax, 0xfffffbff
mov esi, edx
mov dword [edi + 0x70], eax
shr esi, 0x1f
xor eax, eax
add esi, edx
movq qword [ebp - 0x1c], xmm0
xor edx, edx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c4], edx
mov dword [ebp - 0x14], edx
test esi, esi
je 0x1018487a
cmp esi, 0x3fffffff
ja 0x10186229
push esi
lea ecx, [ebp - 0x1c]
call fcn.10073d90
lea ecx, [esi*4]
mov dword [ebp - 0x1c], eax
push ecx
push 0
lea esi, [ecx + eax]
mov edx, esi
mov dword [ebp - 0x1bc], esi
push eax
mov dword [ebp - 0x1c4], edx
mov dword [ebp - 0x14], edx
call fcn.101b66d0
mov dword [ebp - 0x18], esi
mov ecx, esi
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, esi
jmp 0x1018487d
mov esi, dword [ebp - 0x1c]
sub ecx, edx
mov dword [ebp - 4], 1
sar ecx, 2
xor eax, eax
test ecx, ecx
jle 0x101848ac
mov ecx, dword [ebp - 0x1bc]
sub ecx, esi
sar ecx, 2
nop word [eax + eax]
mov dword [edx + eax*4], 0
inc eax
cmp eax, ecx
jl 0x101848a0
mov esi, dword [ebp - 0x18c]
mov dword [ebp - 0x180], esi
nop dword [eax + eax]
push 0
push dword [ebp - 0x1c0]
mov ecx, edi
call fcn.10187d50
xor ecx, ecx
mov dword [ebp - 0x1a0], ecx
cmp dword [ebp - 0x194], ecx
jle 0x10184aca
xor eax, eax
mov dword [ebp - 0x190], eax
nop dword [eax + eax]
mov esi, dword [edi + 0x2c4]
add esi, dword [ebp - 0x1b0]
mov esi, dword [esi]
add esi, eax
mov eax, dword [esi + 8]
lea edi, [esi + 0x90]
and eax, 0x17
cmp al, 5
jne 0x10184a6d
mov dword [esi + 8], 1
mov dword [ebp - 0x198], 0
push dword [esi + 0x1c]
mov ecx, dword [edi]
push dword [esi + 0x18]
push edi
push esi
call fcn.10186ca0
cmp dword [edi + 4], 0
jne 0x10184962
test eax, eax
je 0x10184962
mov dword [esi + 0xa8], eax
xor al, al
cmp dword [ebp - 0x198], 0
jne 0x101849bf
mov dword [esi + 8], 2
mov dword [ebp - 0x198], 1
jmp 0x10184925
cmp dword [ebp - 0x198], 0
mov al, 1
mov byte [ebp - 0x179], al
jbe 0x101849bf
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 4
je 0x101849b9
mov eax, dword [esi + 4]
and eax, 0xf00
cmp eax, 0x100
je 0x101849ab
cmp eax, 0x200
je 0x1018499d
cmp eax, 0x400
jne 0x101849b5
mov dword [esi + 0xa8], 0xc8
xor al, al
jmp 0x101849bf
mov dword [esi + 0xa8], 0x11
xor al, al
jmp 0x101849bf
mov al, byte [ebp - 0x179]
mov dword [esi + 8], 5
test al, al
je 0x10184a94
mov edi, dword [ebp - 0x188]
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1a0]
push 0
mov eax, dword [edi + 0x2ec]
push esi
push ecx
mov dword [eax + edx*4], ecx
mov eax, esp
lea ecx, [ebp - 0x2c4]
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 0x101861a2
push 0
lea eax, [edi + 0x300]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2e4]
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 - 0x24c]
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 - 0x29c]
push ecx
mov ecx, edi
mov dword [eax], 0x25
mov eax, dword [edi]
call dword [eax + 8]
jmp 0x101861a2
push dword [esi + 0x1c]
mov ecx, dword [edi]
push dword [esi + 0x18]
push edi
push esi
call fcn.10186ca0
cmp dword [edi + 4], 0
jne 0x101849ce
test eax, eax
je 0x101849ce
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x190]
inc ecx
mov edi, dword [ebp - 0x188]
add eax, 0xc0
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x190], eax
cmp ecx, dword [ebp - 0x194]
jl 0x101848f0
mov esi, dword [ebp - 0x180]
push 0x98
lea eax, [ebp - 0xbc]
mov byte [ebp - 0x1b4], 0
push 0
push eax
call fcn.101b66d0
add esp, 0xc
mov dword [ebp - 0xbc], 0x1004496c
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x6c], 0x100448d0
push 0
push 0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 3
or esi, 1
lea ecx, [ebp - 0xbc]
push eax
mov dword [ebp - 0x180], esi
mov dword [ebp - 0x18c], esi
call fcn.1006a5b0
mov eax, dword [ebp - 0xbc]
push 8
mov dword [ebp - 4], 4
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xbc], 0x10044968
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xc0], eax
mov dword [ebp - 0xb8], 0x100448e8
call fcn.101b44b7
mov edi, eax
add esp, 4
test edi, edi
je 0x10184b9f
xorps xmm0, xmm0
movq qword [edi], xmm0
push 1
mov byte [ebp - 4], 5
call fcn.1019fa64
add esp, 4
mov dword [edi + 4], eax
jmp 0x10184ba1
xor edi, edi
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x84], edi
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x94]
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x90]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0xb8], 0x10044928
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 4
xorps xmm0, xmm0
mov dword [ebp - 0xfc], 0
movups xmmword [ebp - 0x11c], xmm0
xor edi, edi
mov dword [ebp - 0x1a0], 0
movups xmmword [ebp - 0x10c], xmm0
mov dword [ebp - 0x11c], 0x100588dc
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x110], edi
mov byte [ebp - 0x10c], 1
movups xmmword [ebp - 0x108], xmm0
mov byte [ebp - 4], 7
cmp dword [ebp - 0x194], edi
jbe 0x10184cd3
mov edi, dword [ebp - 0x194]
xor ecx, ecx
mov eax, edi
mov edx, 0x28
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.101b44f5
add esp, 4
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x114], edi
jmp 0x10184cd5
xor eax, eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x194]
xor edx, edx
mov byte [ebp - 4], 8
test ecx, ecx
jle 0x10184d5e
mov esi, dword [ebp - 0x188]
nop word [eax + eax]
mov eax, dword [esi + 0x2c4]
lea ecx, [edx + edx*2]
add eax, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x198]
shl ecx, 6
add ecx, dword [eax]
cmp edx, edi
sbb eax, eax
and eax, edx
inc edx
movups xmm0, xmmword [ecx + 4]
lea eax, [eax + eax*4]
movups xmmword [esi + eax*8], xmm0
movups xmm0, xmmword [ecx + 0x14]
movups xmmword [esi + eax*8 + 0x10], xmm0
movq xmm0, qword [ecx + 0x24]
mov ecx, esi
mov esi, dword [ebp - 0x188]
movq qword [ecx + eax*8 + 0x20], xmm0
cmp edx, dword [ebp - 0x194]
jl 0x10184d00
mov esi, dword [ebp - 0x180]
mov eax, ecx
mov ecx, dword [ebp - 0x194]
xor edx, edx
test edi, edi
mov edi, dword [ebp - 0x188]
push ecx
cmove eax, edx
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2a8]
push ecx
mov ecx, edi
mov dword [eax], 0x20
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
cmp dword [ebp - 0x1a4], 0
seta byte [ebp - 0x179]
mov eax, dword [eax]
cmp eax, 4
je 0x1018605d
cmp eax, 8
je 0x1018618c
push 0
push 0
push ecx
mov eax, esp
lea ecx, [ebp - 0x2a4]
push ecx
mov ecx, edi
mov dword [eax], 9
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
jne 0x10184e08
push 0
push 0
push ecx
mov eax, esp
mov byte [ebp - 0x179], 1
lea ecx, [ebp - 0x2a0]
push ecx
mov ecx, edi
mov dword [eax], 8
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebp - 0x1b4]
movzx ecx, cl
cmp dword [eax], 4
mov eax, 1
cmove ecx, eax
mov dword [ebp - 0x1b4], ecx
push 0
lea eax, [edi + 0x300]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2c0]
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 dword [ebp - 0x1a8], eax
lea ecx, [ebp - 0x2e8]
mov eax, esp
push ecx
mov ecx, edi
mov dword [eax], 7
mov eax, dword [edi]
call dword [eax + 8]
lea eax, [ebp - 0xbc]
mov byte [ebp - 0x1ac], 1
xorps xmm0, xmm0
push 0x100588e0
push eax
movlpd qword [ebp - 0x24], xmm0
call fcn.100766a0
mov edi, eax
add esp, 8
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + edi + 0x30]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x284], ecx
mov edx, dword [ecx]
call dword [edx + 4]
lea eax, [ebp - 0x288]
mov byte [ebp - 4], 9
push eax
call fcn.10069ff0
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0xa
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x284]
mov byte [ebp - 0x250], al
mov byte [ebp - 4], 8
test ecx, ecx
je 0x10184ecf
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x10184ecf
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x250]
mov ecx, edi
call fcn.100da9e0
mov ecx, edi
call fcn.10075700
cmp dword [ebp - 0x194], 0
mov dword [ebp - 0x1b8], 0
jle 0x10185705
xor esi, esi
mov dword [ebp - 0x190], esi
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [eax + 0x2c4]
add eax, dword [ebp - 0x1b0]
mov edi, dword [eax]
mov eax, 0x10056480
add edi, esi
cmp dword [ecx], 0x4e4
mov ecx, 0x1005890c
cmove eax, ecx
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.100766a0
mov eax, dword [ebp - 0x1a0]
add esp, 8
or eax, dword [edi + 4]
mov ecx, edi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.100ba5e0
cmp dword [eax + 0x18], 0x10
lea ecx, [eax + 4]
mov byte [ebp - 4], 0xa
jb 0x10184f6e
mov ecx, dword [eax + 4]
push dword [eax + 0x14]
lea eax, [ebp - 0xbc]
push ecx
push eax
call fcn.100d4b10
mov edx, dword [ebp - 0x2c8]
add esp, 0xc
mov byte [ebp - 4], 8
mov dword [ebp - 0x2e0], 0x100446f8
cmp edx, 0x10
jb 0x10184fd1
mov ecx, dword [ebp - 0x2dc]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0xb
cmp edx, 0x1000
jb 0x10184fc3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push edx
push ecx
call fcn.101b44e7
add esp, 8
mov byte [ebp - 4], 8
cmp byte [ebp - 0x179], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0xf
mov byte [ebp - 0x2dc], 0
je 0x1018564e
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [edi + 0xa8]
mov dword [ecx + eax*4], esi
test esi, esi
jns 0x10185025
mov eax, dword [ebp - 0x1ac]
mov word [ebp - 0x20], 0
mov byte [ebp - 0x1e], 0
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x24], esi
cmp byte [ebp - 0x1b4], 0
je 0x1018560d
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
mov dword [ebp - 0xf4], 0x100446f8
mov byte [ebp - 4], 0xc
test esi, esi
js 0x1018507b
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xf4]
push eax
push esi
push edi
mov edi, dword [ebp - 0x188]
mov ecx, edi
call fcn.10187e70
jmp 0x10185081
mov edi, dword [ebp - 0x188]
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0x8c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x28c], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0xd
push eax
call fcn.10069ff0
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0xa
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x28c]
mov byte [ebp - 0x1f8], al
mov byte [ebp - 4], 0xc
test ecx, ecx
je 0x101850e4
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x101850e4
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x1f8]
lea ecx, [ebp - 0xbc]
call fcn.100da9e0
lea ecx, [ebp - 0xbc]
call fcn.10075700
lea eax, [ebp - 0xbc]
push 0x10058910
push eax
call fcn.100766a0
add esp, 8
mov dword [ebp - 0x170], 0
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x24]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2ac]
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 0x10185567
test esi, esi
js 0x10185550
mov eax, dword [ebp - 0x180]
xor edi, edi
mov ecx, dword [ebp - 0x7c]
or eax, 4
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x218], edi
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x18c], eax
test cl, 2
jne 0x101851ac
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x101851ac
mov eax, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x80]
cmovb edx, dword [ebp - 0x80]
mov ecx, dword [eax]
sub edx, ecx
jmp 0x101851cf
test cl, 4
jne 0x101851e5
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x101851e5
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
sub edx, ecx
mov eax, dword [ebp - 0x8c]
add edx, dword [eax]
push edx
push ecx
lea ecx, [ebp - 0x228]
call fcn.10074240
mov edi, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x180]
and eax, 0xfffffffb
mov dword [ebp - 4], 0xc
or eax, 2
or eax, 0x10
mov byte [ebp - 4], 0x10
xor esi, esi
mov dword [ebp - 0x1c8], 0xf
mov dword [ebp - 0x1cc], esi
mov byte [ebp - 0x1dc], 0
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x18c], eax
test cl, 2
jne 0x10185248
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x10185248
mov eax, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x80]
cmovb edx, dword [ebp - 0x80]
mov ecx, dword [eax]
sub edx, ecx
jmp 0x1018526b
test cl, 4
jne 0x1018527e
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x1018527e
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
sub edx, ecx
mov eax, dword [ebp - 0x8c]
add edx, dword [eax]
push edx
push ecx
lea ecx, [ebp - 0x1dc]
call fcn.10074240
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x180]
and eax, 0xffffffef
mov dword [ebp - 4], 0xf
or eax, 8
mov dword [ebp - 0x180], eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0xf
mov byte [ebp - 0x210], 0
cmp esi, edi
jb 0x10186238
or ecx, 0xffffffff
lea eax, [ebp - 0x1dc]
sub esi, edi
cmp esi, 0xffffffff
cmovb ecx, esi
cmp dword [ebp - 0x1c8], 0x10
push ecx
cmovae eax, dword [ebp - 0x1dc]
lea ecx, [ebp - 0x210]
add eax, edi
push eax
call fcn.10074240
or dword [ebp - 0x180], 0x20
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x12
call fcn.10073a90
cmp dword [ebp - 0x1fc], 0x10
lea eax, [ebp - 0x210]
mov esi, dword [ebp - 0x210]
mov edi, dword [ebp - 0x200]
cmovae eax, esi
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x184], esi
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x19c], edx
cmp edi, 0x7fffffff
ja 0x10186233
test edi, edi
je 0x10185437
mov eax, edx
and eax, 6
cmp al, 6
je 0x10185437
cmp edi, 0x1000
jb 0x10185383
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x1018622e
push eax
call fcn.101b44b7
add esp, 4
test eax, eax
je 0x10186224
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x1018538e
push edi
call fcn.101b44b7
add esp, 4
mov esi, eax
push edi
push dword [ebp - 0x18c]
push esi
call fcn.101b6150
mov edx, dword [ebp - 0x19c]
lea eax, [edi + esi]
mov dword [ebp - 0x18c], eax
add esp, 0xc
mov dword [ebp - 0x80], eax
mov eax, edx
and eax, 4
mov dword [ebp - 0x19c], eax
jne 0x101853da
mov eax, dword [ebp - 0xac]
mov dword [eax], esi
mov eax, dword [ebp - 0x9c]
mov dword [eax], esi
mov eax, dword [ebp - 0x8c]
mov dword [eax], edi
mov edi, dword [ebp - 0x80]
jmp 0x101853e0
mov edi, dword [ebp - 0x18c]
test dl, 2
jne 0x1018542c
mov eax, dword [ebp - 0xa8]
test dl, 0x18
mov ecx, esi
cmovne ecx, edi
sub edi, ecx
cmp dword [ebp - 0x19c], 0
mov dword [eax], esi
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov dword [eax], edi
je 0x1018542c
mov eax, dword [ebp - 0xac]
mov dword [eax], esi
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0
mov eax, dword [ebp - 0x8c]
mov dword [eax], esi
mov esi, dword [ebp - 0x184]
or edx, 1
jmp 0x1018543e
mov dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x7c], edx
cmp eax, 0x10
jb 0x1018547b
lea ecx, [eax + 1]
mov eax, esi
mov byte [ebp - 4], 0x13
cmp ecx, 0x1000
jb 0x10185471
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push ecx
push esi
call fcn.101b44e7
add esp, 8
mov edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0xf
mov byte [ebp - 0x210], 0
cmp edx, 0x10
jb 0x101854d4
mov ecx, dword [ebp - 0x1dc]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x14
cmp edx, 0x1000
jb 0x101854ca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push edx
push ecx
call fcn.101b44e7
add esp, 8
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0xf
mov byte [ebp - 0x1dc], 0
mov byte [ebp - 4], 0xc
cmp edx, 0x10
jb 0x10185535
mov ecx, dword [ebp - 0x228]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x15
cmp edx, 0x1000
jb 0x10185527
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push edx
push ecx
call fcn.101b44e7
add esp, 8
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
push dword [ebp - 0x170]
lea eax, [ebp - 0xbc]
push eax
call fcn.100766a0
add esp, 8
jmp 0x10185591
cmp dword [ebp - 0xdc], 0x10
lea eax, [ebp - 0xf0]
push dword [ebp - 0xe0]
cmovae eax, dword [ebp - 0xf0]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.100d4b10
add esp, 0xc
mov eax, dword [ebp - 0x1ac]
xor ecx, ecx
cmp byte [ebp - 0x1d], cl
mov edx, dword [ebp - 0xdc]
movzx eax, al
cmove eax, ecx
mov dword [ebp - 0xf4], 0x100446f8
mov dword [ebp - 0x1ac], eax
cmp edx, 0x10
jb 0x101855f0
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x16
cmp edx, 0x1000
jb 0x101855e6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push edx
push ecx
call fcn.101b44e7
add esp, 8
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
jmp 0x10185648
mov ecx, edi
call fcn.100ba540
push 0x1004672c
push esi
push eax
lea eax, [ebp - 0xbc]
push 0x10058924
push eax
call fcn.100766a0
add esp, 8
push eax
call fcn.100766a0
add esp, 8
mov ecx, eax
call fcn.1006ec50
push eax
call fcn.100766a0
add esp, 8
mov esi, dword [ebp - 0x190]
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0x8c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x294], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0x17
push eax
call fcn.10069ff0
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0xa
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x294]
mov byte [ebp - 0x244], al
mov byte [ebp - 4], 8
test ecx, ecx
je 0x101856b1
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x101856b1
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x244]
lea ecx, [ebp - 0xbc]
call fcn.100da9e0
lea ecx, [ebp - 0xbc]
call fcn.10075700
mov eax, dword [ebp - 0x1b8]
add esi, 0xc0
inc eax
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x1b8], eax
cmp eax, dword [ebp - 0x194]
jl 0x10184f02
cmp byte [ebp - 0x1ac], 0
mov esi, dword [ebp - 0x180]
je 0x10185b4c
mov edi, dword [ebp - 0x188]
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x174], 0
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, edi
mov dword [eax], 0xb
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
jne 0x10185b52
mov ecx, dword [ebp - 0x7c]
or esi, 0x80
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
mov dword [ebp - 0x18c], esi
test cl, 2
jne 0x10185794
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x10185794
mov eax, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x80]
cmovb edx, dword [ebp - 0x80]
mov ecx, dword [eax]
sub edx, ecx
jmp 0x101857b7
test cl, 4
jne 0x101857c7
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x101857c7
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
sub edx, ecx
mov eax, dword [ebp - 0x8c]
add edx, dword [eax]
push edx
push ecx
lea ecx, [ebp - 0x268]
call fcn.10074240
mov ecx, dword [ebp - 0x7c]
and esi, 0xffffff7f
mov dword [ebp - 4], 8
or esi, 0x40
xor edi, edi
mov byte [ebp - 4], 0x1a
or esi, 0x200
mov dword [ebp - 0x1e4], edi
mov dword [ebp - 0x1e0], 0xf
mov byte [ebp - 0x1f4], 0
mov dword [ebp - 0x18c], esi
test cl, 2
jne 0x10185824
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x10185824
mov eax, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x80]
cmovb edx, dword [ebp - 0x80]
mov ecx, dword [eax]
sub edx, ecx
jmp 0x10185847
test cl, 4
jne 0x1018585a
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x1018585a
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
sub edx, ecx
mov eax, dword [ebp - 0x8c]
add edx, dword [eax]
push edx
push ecx
lea ecx, [ebp - 0x1f4]
call fcn.10074240
mov edi, dword [ebp - 0x1e4]
and esi, 0xfffffdff
mov dword [ebp - 4], 0x19
or esi, 0x100
mov edx, dword [ebp - 0x258]
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
cmp edi, edx
jb 0x10186238
sub edi, edx
lea eax, [ebp - 0x1f4]
or ecx, 0xffffffff
cmp edi, 0xffffffff
cmovb ecx, edi
cmp dword [ebp - 0x1e0], 0x10
push ecx
cmovae eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x240]
add eax, edx
push eax
call fcn.10074240
or esi, 0x400
mov dword [ebp - 0x180], esi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1c
call fcn.10073a90
cmp dword [ebp - 0x22c], 0x10
lea ecx, [ebp - 0x240]
mov eax, dword [ebp - 0x240]
mov edi, dword [ebp - 0x230]
cmovae ecx, eax
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x19c], edx
cmp edi, 0x7fffffff
ja 0x10186233
test edi, edi
je 0x10185a18
mov eax, edx
and eax, 6
cmp al, 6
je 0x10185a18
cmp edi, 0x1000
jb 0x10185964
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x1018622e
push eax
call fcn.101b44b7
add esp, 4
test eax, eax
je 0x10186224
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x1018596f
push edi
call fcn.101b44b7
add esp, 4
mov esi, eax
push edi
push dword [ebp - 0x184]
push esi
call fcn.101b6150
mov edx, dword [ebp - 0x19c]
lea eax, [esi + edi]
mov dword [ebp - 0x184], eax
add esp, 0xc
mov dword [ebp - 0x80], eax
mov eax, edx
and eax, 4
mov dword [ebp - 0x19c], eax
jne 0x101859bb
mov eax, dword [ebp - 0xac]
mov dword [eax], esi
mov eax, dword [ebp - 0x9c]
mov dword [eax], esi
mov eax, dword [ebp - 0x8c]
mov dword [eax], edi
mov edi, dword [ebp - 0x80]
jmp 0x101859c1
mov edi, dword [ebp - 0x184]
test dl, 2
jne 0x10185a0d
mov eax, dword [ebp - 0xa8]
test dl, 0x18
mov ecx, esi
cmovne ecx, edi
sub edi, ecx
cmp dword [ebp - 0x19c], 0
mov dword [eax], esi
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov dword [eax], edi
je 0x10185a0d
mov eax, dword [ebp - 0xac]
mov dword [eax], esi
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0
mov eax, dword [ebp - 0x8c]
mov dword [eax], esi
mov esi, dword [ebp - 0x180]
or edx, 1
jmp 0x10185a1f
mov dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x7c], edx
cmp eax, 0x10
jb 0x10185a62
mov edx, dword [ebp - 0x1a8]
lea ecx, [eax + 1]
mov eax, edx
mov byte [ebp - 4], 0x1d
cmp ecx, 0x1000
jb 0x10185a58
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push ecx
push edx
call fcn.101b44e7
add esp, 8
mov edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
cmp edx, 0x10
jb 0x10185abb
mov ecx, dword [ebp - 0x1f4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x1e
cmp edx, 0x1000
jb 0x10185ab1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push edx
push ecx
call fcn.101b44e7
add esp, 8
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0xf
mov byte [ebp - 0x1f4], 0
mov byte [ebp - 4], 8
cmp edx, 0x10
jb 0x10185b1c
mov ecx, dword [ebp - 0x268]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x1f
cmp edx, 0x1000
jb 0x10185b0e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push edx
push ecx
call fcn.101b44e7
add esp, 8
mov byte [ebp - 4], 8
push dword [ebp - 0x174]
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x258], 0
push eax
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
call fcn.100766a0
add esp, 8
mov edi, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x7c]
or esi, 0x1000
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
mov dword [ebp - 0x18c], esi
test cl, 2
jne 0x10185ba4
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x10185ba4
mov eax, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x80]
cmovb edx, dword [ebp - 0x80]
mov ecx, dword [eax]
sub edx, ecx
jmp 0x10185bc7
test cl, 4
jne 0x10185bd4
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x10185bd4
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
sub edx, ecx
mov eax, dword [ebp - 0x8c]
add edx, dword [eax]
push edx
push ecx
lea ecx, [ebp - 0x280]
call fcn.10074240
and esi, 0xffffefff
mov dword [ebp - 4], 8
or esi, 0x800
mov dword [ebp - 0x180], esi
mov dword [ebp - 0x18c], esi
lea eax, [ebp - 0x280]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0xd4]
call fcn.1006a900
mov dword [ebp - 0xd8], 0x100446f8
mov edx, dword [ebp - 0x26c]
mov byte [ebp - 4], 0x23
cmp edx, 0x10
jb 0x10185c59
mov ecx, dword [ebp - 0x280]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x24
cmp edx, 0x1000
jb 0x10185c4b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push edx
push ecx
call fcn.101b44e7
add esp, 8
mov byte [ebp - 4], 0x23
cmp dword [ebp - 0xc0], 0x10
lea eax, [ebp - 0xd4]
push 0
cmovae eax, dword [ebp - 0xd4]
push eax
push ecx
mov dword [ebp - 0x1a8], eax
lea ecx, [ebp - 0x2b4]
mov eax, esp
mov dword [ebp - 0x270], 0
push ecx
mov ecx, edi
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
mov dword [eax], 0x21
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
mov eax, dword [eax]
cmp eax, 4
jne 0x10185cdc
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xd8], 0x100446f8
cmp edx, 0x10
jb 0x1018605d
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x25
jmp 0x10186037
cmp eax, 8
je 0x101861e2
push 0
lea eax, [ebp - 0x178]
mov dword [ebp - 0x178], 0x10058930
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2b8]
push ecx
mov ecx, edi
mov dword [eax], 4
mov eax, dword [edi]
call dword [eax + 8]
push dword [ebp - 0x1a4]
lea eax, [ebp - 0x24]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2bc]
push ecx
mov ecx, edi
mov dword [eax], 2
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0x1a4]
cmp eax, dword [edi + 0x308]
setb al
mov byte [ebp - 0x179], al
cmp ecx, 4
je 0x10185d57
cmp ecx, 8
jne 0x10185d5f
xor al, al
jmp 0x10185d59
mov al, 1
mov byte [ebp - 0x179], al
xor cl, cl
cmp byte [ebp + 0xc], cl
je 0x10185d8d
test al, al
je 0x10185d8d
push 0
push 0
push ecx
mov eax, esp
lea ecx, [ebp - 0x248]
push ecx
mov ecx, edi
mov dword [eax], 3
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
sete cl
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
mov dword [ebp - 0x158], 0x100446f8
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0xf
mov byte [ebp - 0x138], 0
mov dword [ebp - 0x13c], 0x100446f8
cmp byte [ebp - 0x179], 0
mov eax, dword [ebp - 0x1c0]
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], 1
mov dword [ebp - 0x164], 4
je 0x10185e19
test cl, cl
mov eax, 0x22
mov ecx, 0xb0
cmovne eax, ecx
mov dword [ebp - 0x168], eax
mov edi, dword [ebp - 0x1bc]
xor ecx, ecx
sub edi, dword [ebp - 0x1c]
xor eax, eax
sar edi, 2
xor edx, edx
mov dword [ebp - 0x184], edi
test edi, edi
jle 0x10185ee1
mov eax, dword [ebp - 0x188]
mov esi, ecx
mov eax, dword [eax + 0x2c4]
add eax, dword [ebp - 0x1b0]
xor edi, edi
mov eax, dword [eax]
mov dword [ebp - 0x19c], eax
nop word [eax + eax]
mov eax, dword [eax + edi + 4]
cmp eax, 0x100
je 0x10185eb0
cmp eax, 0x200
je 0x10185e79
cmp eax, 0x400
jne 0x10185eba
mov eax, dword [ebp - 0x1c]
test ecx, ecx
jne 0x10185e85
mov ecx, dword [eax + edx*4]
jmp 0x10185eba
mov eax, dword [eax + edx*4]
cmp eax, 0x65
je 0x10185eba
cmp ecx, 0x65
je 0x10185eac
cmp ecx, 0xc8
je 0x10185eac
cmp eax, 0xc8
je 0x10185eba
cmp eax, ecx
je 0x10185eba
mov ecx, 0xe6
jmp 0x10185eba
mov ecx, eax
jmp 0x10185eba
test esi, esi
jne 0x10185eba
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp - 0x19c]
inc edx
add edi, 0xc0
cmp edx, dword [ebp - 0x184]
jl 0x10185e60
mov dword [ebp - 0x190], esi
mov esi, dword [ebp - 0x180]
mov eax, dword [ebp - 0x190]
push dword [ebp - 0x178]
test ecx, ecx
cmovne eax, ecx
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x15c], eax
call fcn.100d0a60
push dword [ebp - 0x1a8]
lea ecx, [ebp - 0x13c]
call fcn.100d0a60
mov edi, dword [ebp - 0x188]
lea ecx, [ebp - 0x16c]
push 0
push ecx
push 0
mov eax, dword [edi]
lea ecx, [ebp - 0xf8]
push ecx
mov ecx, edi
mov byte [ebp - 0x120], 1
call dword [eax + 4]
mov eax, dword [ebp - 0xf8]
cmp eax, 0x20
jne 0x1018611e
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x13c], 0x100446f8
cmp edx, 0x10
jb 0x10185f97
mov ecx, dword [ebp - 0x138]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x28
cmp edx, 0x1000
jb 0x10185f8d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push edx
push ecx
call fcn.101b44e7
add esp, 8
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0xf
mov byte [ebp - 0x138], 0
mov dword [ebp - 0x158], 0x100446f8
cmp edx, 0x10
jb 0x10185ffa
mov ecx, dword [ebp - 0x154]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x29
cmp edx, 0x1000
jb 0x10185ff0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push edx
push ecx
call fcn.101b44e7
add esp, 8
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
mov dword [ebp - 0xd8], 0x100446f8
cmp edx, 0x10
jb 0x1018605d
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x2a
cmp edx, 0x1000
jb 0x10186053
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push edx
push ecx
call fcn.101b44e7
add esp, 8
inc dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x11c], 0x100588dc
test eax, eax
je 0x10186080
push eax
call fcn.101b44fe
add esp, 4
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x114], 0
mov byte [ebp - 0x10c], 1
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xbc], 0x10044968
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xc0], eax
lea ecx, [ebp - 0xb8]
call fcn.1006caa0
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xbc], 0x100448d8
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xc0], eax
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x2f
push eax
mov dword [ebp - 0x6c], 0x10044694
call fcn.101a0067
add esp, 4
mov byte [ebp - 4], 1
jmp 0x101848c0
cmp eax, 0x80
jne 0x10186139
mov eax, dword [edi + 0x70]
mov edx, dword [ebp - 0x14]
or eax, 0x200
mov dword [edi + 0x70], eax
mov dword [ebp - 0x1c4], edx
lea ecx, [ebp - 0x16c]
call fcn.1007cdc0
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xd8], 0x100446f8
cmp edx, 0x10
jb 0x1018618c
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x2b
cmp edx, 0x1000
jb 0x10186182
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10186224
push edx
push ecx
call fcn.101b44e7
add esp, 8
lea ecx, [ebp - 0x11c]
call fcn.10181c30
lea ecx, [ebp - 0xbc]
call fcn.1006efe0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0x30
test eax, eax
je 0x101861c5
mov ecx, dword [ebp - 0x1c4]
sub ecx, eax
sar ecx, 2
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.10074550
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.101b4a00
mov esp, ebp
pop ebp
ret 8
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xd8], 0x100446f8
cmp edx, 0x10
jb 0x1018618c
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x26
cmp edx, 0x1000
jb 0x10186182
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10186182
call fcn.100ecc9c
call fcn.10073d00
call fcn.10073a40
call fcn.1019f80d
call fcn.10073d10
int3