Function at 0x10016530
Capabilities:
Terminate process

Disassembly:
sub esp, 0x7c
mov eax, dword [0x10052084]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
push ebp
mov ebp, dword [esp + 0x88]
mov eax, dword [ebp + 4]
push esi
mov esi, dword [ebp]
xor ecx, ecx
cmp eax, 0xa
push edi
jne 0x100165ea
mov dword [ebp + 0xfa14], ecx
mov dword [ebp + 0xfa18], ecx
mov dword [ebp + 0xfa1c], ecx
mov dword [ebp + 0xfa20], ecx
mov dword [ebp + 0xfa24], ecx
mov dword [ebp + 0xfa28], ecx
mov dword [ebp + 0xfa2c], ecx
mov dword [ebp + 0xfa30], ecx
mov dword [ebp + 0xfa34], ecx
mov dword [ebp + 0xfa38], ecx
mov dword [ebp + 0xfa3c], ecx
mov dword [ebp + 0xfa40], ecx
mov dword [ebp + 0xfa44], ecx
mov dword [ebp + 0xfa48], ecx
mov dword [ebp + 0xfa4c], ecx
mov dword [ebp + 0xfa50], ecx
mov dword [ebp + 0xfa54], ecx
mov dword [ebp + 0xfa58], ecx
mov dword [ebp + 0xfa5c], ecx
mov dword [ebp + 0xfa60], ecx
mov dword [ebp + 0xfa64], ecx
mov dword [ebp + 0xfa68], ecx
mov dword [ebp + 0xfa6c], ecx
mov dword [ebp + 0xfa70], ecx
mov ecx, dword [ebp + 0xfa14]
mov edx, dword [ebp + 0xfa18]
mov dword [esp + 0x10], ecx
mov ecx, dword [ebp + 0xfa1c]
mov dword [esp + 0x20], edx
mov edx, dword [ebp + 0xfa20]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebp + 0xfa24]
mov dword [esp + 0x60], edx
mov edx, dword [ebp + 0xfa28]
mov dword [esp + 0x40], ecx
mov ecx, dword [ebp + 0xfa2c]
mov dword [esp + 0x4c], edx
mov edx, dword [ebp + 0xfa30]
mov dword [esp + 0x58], ecx
mov ecx, dword [ebp + 0xfa34]
mov dword [esp + 0x64], edx
mov edx, dword [ebp + 0xfa38]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebp + 0xfa3c]
mov dword [esp + 0x44], edx
mov edx, dword [ebp + 0xfa40]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebp + 0xfa44]
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0xfa48]
mov dword [esp + 0x24], ecx
mov ecx, dword [ebp + 0xfa4c]
mov dword [esp + 0x5c], edx
mov edx, dword [ebp + 0xfa50]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebp + 0xfa54]
mov dword [esp + 0x78], edx
mov edx, dword [ebp + 0xfa58]
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp + 0xfa5c]
mov dword [esp + 0x28], edx
mov edx, dword [ebp + 0xfa60]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebp + 0xfa64]
mov dword [esp + 0x6c], edx
mov edx, dword [ebp + 0xfa68]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebp + 0xfa6c]
mov dword [esp + 0x3c], edx
mov edx, dword [ebp + 0xfa70]
add eax, 0xfffffff6
cmp eax, 0x28
mov dword [esp + 0x38], ecx
mov dword [esp + 0x48], edx
ja case.default.0x100166ee
mov ebx, 1
lea edi, [ebx + 0x1b]
jmp dword [eax*4 + 0x100188b0]
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xa
jge 0x10016747
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016742
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016702
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x42
je case.0x100166ee.11
mov eax, 0xfffffffb
jmp 0x100181f1
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xb
jge 0x100167c5
jmp 0x10016780
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100167c0
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016780
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x5a
jne 0x10016761
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xc
jge 0x10016835
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016830
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x100167f0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x68
jne 0x10016761
cmp dword [ebp + 0x20], 8
mov dword [ebp + 4], 0xd
jge 0x100168a5
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edx, dword [eax]
movzx edx, byte [edx]
mov ecx, dword [ebp + 0x1c]
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x1c], ecx
mov ecx, 8
add dword [ebp + 0x20], ecx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100168a0
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016860
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp eax, 0x31
mov dword [ebp + 0x24], eax
jl 0x10016761
cmp eax, 0x39
jg 0x10016761
add eax, 0xffffffd0
cmp byte [ebp + 0x28], 0
mov dword [ebp + 0x24], eax
push ebx
je 0x1001692b
mov ecx, dword [esi + 0x24]
imul eax, eax, 0x30d40
push eax
mov eax, dword [esi + 0x2c]
push eax
call ecx
mov edx, dword [ebp + 0x24]
imul edx, edx, 0x186a0
add edx, ebx
mov dword [ebp + 0xc50], eax
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x24]
push ebx
sar edx, 1
push edx
push eax
call ecx
add esp, 0x18
cmp dword [ebp + 0xc50], 0
mov dword [ebp + 0xc54], eax
je 0x10016921
test eax, eax
jne case.0x100166ee.14
mov eax, 0xfffffffd
jmp 0x100181f1
mov edx, dword [esi + 0x2c]
imul eax, eax, 0x61a80
push eax
mov eax, dword [esi + 0x24]
push edx
call eax
add esp, 0xc
test eax, eax
mov dword [ebp + 0xc4c], eax
jne case.0x100166ee.14
mov eax, 0xfffffffd
jmp 0x100181f1
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0xe
jge 0x100169a3
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001699e
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016963
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x17
je case.0x100166ee.42
cmp al, 0x31
jne 0x10018061
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0xf
jge 0x10016a20
lea ebx, [ebx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016a1b
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x100169e0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x41
jne 0x10018061
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x10
jge 0x10016a90
nop
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016a8b
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016a50
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x59
jne 0x10018061
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x11
jge 0x10016b00
nop
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016afb
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016ac0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x26
jne 0x10018061
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x12
jge 0x10016b70
nop
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016b6b
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016b30
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x53
jne 0x10018061
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x13
jge 0x10016be0
nop
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016bdb
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016ba0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x59
jne 0x10018061
add dword [ebp + 0x2c], ebx
cmp dword [ebp + 0x30], 2
mov eax, dword [ebp + 0x2c]
jl 0x10016c21
push eax
push str._n______d:_huffmtf
call fcn.1002f561
add eax, 0x40
push eax
call fcn.1002f702
add esp, 0xc
mov dword [ebp + 0xc58], 0
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x14
jge 0x10016c80
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016c7b
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016c40
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x15
jge 0x10016d00
jmp 0x10016cc0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016cfb
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016cc0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x16
jge 0x10016d80
jmp 0x10016d40
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016d7b
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016d40
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x17
jge 0x10016e00
jmp 0x10016dc0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016dfb
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016dc0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc58]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc58], ecx
cmp dword [ebp + 0x20], ebx
mov dword [ebp + 4], 0x18
jge 0x10016e80
mov ecx, 8
jmp 0x10016e40
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016e7b
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ebx
jl 0x10016e40
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
mov dword [ebp + 0x34], 0
and eax, ebx
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
mov byte [ebp + 0x10], al
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x19
jge 0x10016ef0
mov edi, edi
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016eeb
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016eb0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0x34]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x34], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x1a
jge 0x10016f70
jmp 0x10016f30
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016f6b
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016f30
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0x34]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0x34], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x1b
jge 0x10016ff0
jmp 0x10016fb0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10016feb
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10016fb0
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
lea ecx, [eax - 8]
shr edx, cl
add eax, 0xfffffff8
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x34]
and edx, 0xff
movzx ecx, dl
shl eax, 8
or eax, ecx
mov dword [ebp + 0x34], eax
jl 0x10018061
mov edx, dword [ebp + 0x24]
imul edx, edx, 0x186a0
add edx, 0xa
cmp eax, edx
jg 0x10018061
mov dword [esp + 0x10], 0
jmp 0x100170b9
cmp dword [ebp + 0x20], ebx
mov dword [ebp + 4], edi
jge 0x10017090
mov ecx, 8
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov esi, dword [eax]
movzx esi, byte [esi]
mov edx, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl edx, 8
or edx, esi
mov dword [ebp + 0x1c], edx
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], 0xffffffff
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001708b
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ebx
jl 0x10017050
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, ebx
cmp al, 1
mov eax, dword [esp + 0x10]
sete cl
mov byte [eax + ebp + 0xd6c], cl
add eax, ebx
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0x10
jl case.0x100166ee.28
push pe_nt_image_headers32
lea eax, [ebp + 0xc6c]
push 0
push eax
call fcn.1002fe50
add esp, 0xc
mov dword [esp + 0x10], 0
jmp 0x1001717d
cmp dword [ebp + 0x20], ebx
mov dword [ebp + 4], 0x1d
jge 0x1001713f
or edx, 0xffffffff
lea ecx, [edx + 9]
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001713a
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ebx
jl 0x10017100
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, ebx
cmp al, 1
jne 0x1001716a
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
shl edx, 4
add edx, ebp
mov byte [edx + eax + 0xc6c], bl
add dword [esp + 0x20], ebx
cmp dword [esp + 0x20], 0x10
jl case.0x100166ee.29
add dword [esp + 0x10], ebx
mov eax, dword [esp + 0x10]
cmp eax, 0x10
jge 0x1001719a
cmp byte [eax + ebp + 0xd6c], 0
je 0x10017179
mov dword [esp + 0x20], 0
jmp 0x1001716e
mov eax, ebp
call fcn.100164f0
mov eax, dword [ebp + 0xc68]
test eax, eax
je 0x10018061
add eax, 2
mov dword [esp + 0x60], eax
cmp dword [ebp + 0x20], 3
mov dword [ebp + 4], 0x1e
jge 0x10017210
or edx, 0xffffffff
lea ecx, [edx + 9]
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001720a
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], 3
jl 0x100171d0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 3]
shr eax, cl
add edx, 0xfffffffd
mov dword [ebp + 0x20], edx
and eax, 7
cmp eax, 2
mov dword [esp + 0x40], eax
jl 0x10018061
cmp eax, 6
jg 0x10018061
cmp dword [ebp + 0x20], 0xf
mov dword [ebp + 4], 0x1f
jge 0x10017290
or edx, 0xffffffff
lea ecx, [edx + 9]
lea ecx, [ecx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001728a
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], 0xf
jl 0x10017250
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 0xf]
shr eax, cl
add edx, 0xfffffff1
mov dword [ebp + 0x20], edx
and eax, 0x7fff
cmp eax, ebx
mov edi, eax
mov dword [esp + 0x4c], edi
jl 0x10018061
mov dword [esp + 0x10], 0
jmp 0x10017342
cmp dword [ebp + 0x20], ebx
mov dword [ebp + 4], 0x20
jge 0x10017312
or edx, 0xffffffff
lea ecx, [edx + 9]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001730d
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ebx
jl 0x100172d3
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, ebx
test al, al
jne 0x10017355
mov eax, dword [esp + 0x10]
mov cl, byte [esp + 0x20]
mov edi, dword [esp + 0x4c]
mov byte [eax + ebp + 0x650e], cl
add eax, ebx
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], edi
jge 0x10017373
mov dword [esp + 0x20], 0
jmp case.0x100166ee.32
mov eax, dword [esp + 0x20]
add eax, ebx
cmp eax, dword [esp + 0x40]
mov dword [esp + 0x20], eax
jl case.0x100166ee.32
mov eax, 0xfffffffc
jmp 0x100181f1
mov edx, dword [esp + 0x40]
xor al, al
test edx, edx
jle 0x10017390
xor ecx, ecx
nop
mov byte [esp + ecx + 0x80], al
add al, 1
movzx ecx, al
cmp ecx, edx
jl 0x10017380
test edi, edi
mov dword [esp + 0x10], 0
jle 0x100173fb
lea esp, [esp]
mov eax, dword [esp + 0x10]
mov al, byte [eax + ebp + 0x650e]
test al, al
movzx esi, al
mov cl, byte [esp + esi + 0x80]
lea esi, [esp + esi + 0x80]
mov byte [esp + 0x17], cl
jbe 0x100173df
mov ecx, esi
mov dl, byte [ecx - 1]
mov byte [ecx], dl
add al, 0xff
sub ecx, ebx
test al, al
ja 0x100173c6
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
mov cl, byte [esp + 0x17]
mov eax, dword [esp + 0x10]
mov byte [eax + ebp + 0x1ebc], cl
add eax, ebx
cmp eax, edi
mov byte [esp + 0x80], cl
mov dword [esp + 0x10], eax
jl 0x100173a0
mov dword [esp + 0x2c], 0
jmp 0x10017541
cmp dword [ebp + 0x20], ebx
mov dword [ebp + 4], 0x23
jge 0x1001745f
or edx, 0xffffffff
lea ecx, [edx + 9]
lea ebx, [ebx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001745a
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ebx
jl 0x10017420
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, ebx
test al, al
jne 0x1001747c
add dword [esp + 0x30], ebx
jmp 0x10017480
sub dword [esp + 0x30], ebx
mov eax, dword [esp + 0x30]
cmp eax, ebx
jl 0x10018061
cmp eax, 0x14
jg 0x10018061
cmp dword [ebp + 0x20], ebx
mov dword [ebp + 4], 0x22
jge 0x100174ef
or edx, 0xffffffff
lea ecx, [edx + 9]
jmp 0x100174b0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100174ea
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ebx
jl 0x100174b0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, ebx
test al, al
jne case.0x100166ee.35
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
imul ecx, ecx, 0x102
mov dl, byte [esp + 0x30]
add ecx, ebp
mov byte [ecx + eax + 0xab60], dl
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x60]
jl 0x10017480
add dword [esp + 0x2c], ebx
mov edx, dword [esp + 0x40]
cmp dword [esp + 0x2c], edx
jge 0x100175c5
cmp dword [ebp + 0x20], 5
mov dword [ebp + 4], 0x21
jge 0x100175a0
or edx, 0xffffffff
lea ecx, [edx + 9]
mov edi, edi
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001759a
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], 5
jl 0x10017560
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 5]
shr eax, cl
mov dword [esp + 0x10], 0
and eax, 0x1f
add edx, 0xfffffffb
mov dword [ebp + 0x20], edx
mov dword [esp + 0x30], eax
jmp 0x1001752b
test edx, edx
mov dword [esp + 0x2c], 0
jle 0x1001766f
mov eax, dword [esp + 0x40]
lea ecx, [ebp + 0xf9fc]
mov dword [esp + 0x58], ecx
lea ecx, [ebp + 0xc99c]
lea edi, [ebp + 0xab60]
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], eax
xor ebx, ebx
xor edx, edx
cmp dword [esp + 0x60], ebx
mov esi, 0x20
jle 0x10017633
jmp 0x10017614
mov ebx, dword [esp + 0x10]
movzx eax, byte [edi + ebx]
cmp eax, edx
jle 0x1001761e
mov edx, eax
cmp eax, esi
jge 0x10017624
mov esi, eax
mov eax, dword [esp + 0x60]
add ebx, 1
cmp ebx, eax
mov dword [esp + 0x10], ebx
jl 0x10017610
mov eax, dword [esp + 0x60]
push edx
push esi
lea edx, [ecx + 0x1830]
push edi
push edx
lea edx, [ecx - 0x1830]
call fcn.10018cb0
mov eax, dword [esp + 0x68]
mov dword [eax], esi
add eax, 4
add esp, 0x10
add edi, 0x102
add ecx, 0x408
sub dword [esp + 0x34], 1
mov dword [esp + 0x58], eax
jne 0x100175f7
mov eax, dword [ebp + 0xc68]
add eax, 1
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x24]
imul eax, eax, 0x186a0
mov dword [esp + 0x34], eax
xor eax, eax
lea edi, [ebp + 0x40]
mov ecx, pe_nt_image_headers32
rep stosd dword es:[edi], eax
mov dword [esp + 0x50], 0
mov dword [esp + 0x10], pe_nt_image_headers32
mov eax, 0xfff
mov edx, 0xf
lea esi, [ebp + 0x1eb8]
mov bl, dl
shl bl, 4
mov ecx, 0xf
mov byte [esp + 0x17], bl
jmp 0x100176d4
mov bl, byte [esp + 0x17]
add bl, cl
mov byte [eax + ebp + 0xe7c], bl
sub eax, 1
sub ecx, 1
jns 0x100176d0
lea ecx, [eax + 1]
mov dword [esi], ecx
sub edx, 1
sub esi, 4
test edx, edx
jge 0x100176b5
cmp dword [esp + 0x4c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x64], 0
jle 0x10018061
movzx eax, byte [ebp + 0x1ebc]
mov ecx, dword [ebp + eax*4 + 0xf9fc]
mov dword [esp + 0x6c], eax
imul eax, eax, 0x408
add eax, ebp
lea edx, [eax + 0xb16c]
mov dword [esp + 0x3c], edx
lea edx, [eax + 0xe1cc]
add eax, 0xc99c
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x38], eax
mov dword [esp + 0x50], 0x31
mov dword [esp + 0x18], ecx
mov ebx, 1
mov eax, dword [ebp + 0x20]
cmp eax, dword [esp + 0x18]
mov dword [ebp + 4], 0x24
jge 0x100177b6
mov edx, 8
or ecx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100177ad
add dword [eax + 0xc], ebx
mov eax, dword [ebp + 0x20]
cmp eax, dword [esp + 0x18]
jl 0x10017773
mov edx, dword [ebp + 0x20]
mov esi, dword [esp + 0x18]
mov eax, dword [ebp + 0x1c]
sub edx, esi
mov ecx, edx
shr eax, cl
mov edi, ebx
mov ecx, esi
shl edi, cl
mov dword [ebp + 0x20], edx
sub edi, ebx
and eax, edi
mov dword [esp + 0x28], eax
jmp 0x10017859
cmp dword [ebp + 0x20], ebx
mov dword [ebp + 4], 0x25
jge 0x1001782f
mov edx, 8
or ecx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001782a
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ebx
jl 0x100177f0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov esi, dword [esp + 0x18]
lea ecx, [edx - 1]
shr eax, cl
mov ecx, dword [esp + 0x28]
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, ebx
lea edx, [ecx + ecx]
or edx, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x28], edx
mov eax, edx
cmp esi, 0x14
jg 0x10018061
mov ecx, dword [esp + 0x3c]
cmp eax, dword [ecx + esi*4]
jle 0x10017876
add esi, ebx
mov dword [esp + 0x18], esi
jmp case.0x100166ee.37
mov edx, dword [esp + 0x38]
sub eax, dword [edx + esi*4]
js 0x1001788a
cmp eax, 0x102
jl 0x10017945
mov eax, 0xfffffffc
jmp 0x100181f1
cmp dword [ebp + 0x20], ebx
mov dword [ebp + 4], 0x29
jge 0x100178ef
mov edx, 8
or ecx, 0xffffffff
jmp 0x100178b0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100178ea
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ebx
jl 0x100178b0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov esi, dword [esp + 0x18]
lea ecx, [edx - 1]
shr eax, cl
mov ecx, dword [esp + 0x28]
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
and eax, ebx
lea edx, [ecx + ecx]
mov dword [esp + 0x68], eax
or eax, edx
cmp esi, 0x14
mov dword [esp + 0x28], eax
jg 0x10018061
mov ecx, dword [esp + 0x3c]
cmp eax, dword [ecx + esi*4]
jg 0x10017f45
mov edx, dword [esp + 0x38]
sub eax, dword [edx + esi*4]
js 0x10018061
cmp eax, 0x102
jge 0x10018061
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x44]
cmp ecx, dword [esp + 0x58]
je 0x10017f50
test ecx, ecx
je 0x1001796a
cmp ecx, ebx
jne 0x10017c0a
mov dword [esp + 0x24], 0xffffffff
mov dword [esp + 0x5c], ebx
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x10017988
mov eax, dword [esp + 0x5c]
add dword [esp + 0x24], eax
jmp 0x1001799b
cmp eax, ebx
jne 0x1001799b
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x5c]
lea eax, [ecx + edx*2]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x5c]
lea edx, [ecx + ecx]
mov ecx, dword [esp + 0x50]
test ecx, ecx
mov dword [esp + 0x5c], edx
jne 0x10017a03
mov eax, dword [esp + 0x64]
add eax, ebx
cmp eax, dword [esp + 0x4c]
mov dword [esp + 0x64], eax
jge 0x10018061
movzx eax, byte [eax + ebp + 0x1ebc]
mov edx, dword [ebp + eax*4 + 0xf9fc]
mov dword [esp + 0x6c], eax
imul eax, eax, 0x408
add eax, ebp
mov dword [esp + 0x54], edx
lea edx, [eax + 0xb16c]
mov dword [esp + 0x3c], edx
lea edx, [eax + 0xe1cc]
add eax, 0xc99c
mov ecx, 0x32
mov dword [esp + 0x48], edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x54]
sub ecx, ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x18], eax
mov ecx, dword [ebp + 0x20]
cmp ecx, dword [esp + 0x18]
mov dword [ebp + 4], 0x26
jge 0x10017a73
mov edx, 8
or ecx, 0xffffffff
lea esp, [esp]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10017a6a
add dword [eax + 0xc], ebx
mov eax, dword [ebp + 0x20]
cmp eax, dword [esp + 0x18]
jl 0x10017a30
mov edx, dword [ebp + 0x20]
mov esi, dword [esp + 0x18]
mov eax, dword [ebp + 0x1c]
sub edx, esi
mov ecx, edx
shr eax, cl
mov edi, ebx
mov ecx, esi
shl edi, cl
mov dword [ebp + 0x20], edx
sub edi, ebx
and eax, edi
cmp esi, 0x14
mov dword [esp + 0x28], eax
jg 0x10018061
mov ecx, dword [esp + 0x3c]
cmp eax, dword [ecx + esi*4]
jle 0x10017b38
add esi, ebx
mov dword [esp + 0x18], esi
cmp dword [ebp + 0x20], ebx
mov dword [ebp + 4], 0x27
jge 0x10017b0f
mov edx, 8
or ecx, 0xffffffff
jmp 0x10017ad0
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10017b0a
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ebx
jl 0x10017ad0
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
mov esi, dword [esp + 0x18]
lea ecx, [edx - 1]
shr eax, cl
add edx, 0xffffffff
mov dword [ebp + 0x20], edx
mov edx, dword [esp + 0x28]
and eax, ebx
lea ecx, [edx + edx]
mov dword [esp + 0x68], eax
or eax, ecx
jmp 0x10017a90
mov edx, dword [esp + 0x38]
sub eax, dword [edx + esi*4]
js 0x10018061
cmp eax, 0x102
jge 0x10018061
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + eax*4]
test eax, eax
mov dword [esp + 0x44], eax
je 0x10017976
cmp eax, ebx
je 0x10017976
mov eax, dword [ebp + 0x1e7c]
movzx ecx, byte [eax + ebp + 0xe7c]
mov cl, byte [ecx + ebp + 0xd7c]
mov edx, dword [esp + 0x24]
add edx, ebx
movzx eax, cl
add dword [ebp + eax*4 + 0x40], edx
cmp byte [ebp + 0x28], 0
mov dword [esp + 0x24], edx
je 0x10017bd0
test edx, edx
jle 0x10017950
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x34]
jge 0x10018061
mov edi, dword [ebp + 0xc50]
movzx si, cl
sub edx, ebx
mov word [edi + eax*2], si
add eax, ebx
test edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edx
jg 0x10017ba3
jmp 0x10017950
test edx, edx
jle 0x10017950
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x34]
cmp ecx, esi
jge 0x10018061
mov edi, dword [ebp + 0xc4c]
sub edx, ebx
mov dword [edi + ecx*4], eax
add ecx, ebx
test edx, edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], edx
jg 0x10017be4
jmp 0x10017950
mov edx, dword [esp + 0x34]
cmp dword [esp + 0x1c], edx
jge 0x10018061
add ecx, 0xffffffff
cmp ecx, 0x10
jae 0x10017cee
cmp ecx, 3
mov esi, dword [ebp + 0x1e7c]
lea edx, [esi + ebp]
mov bl, byte [ecx + edx + 0xe7c]
mov dword [esp + 0x80], edx
mov byte [esp + 0x17], bl
jbe 0x10017ccc
lea eax, [esi + ecx]
lea edx, [ebp + 0xe7b]
mov esi, ebp
sub esi, edx
add esi, 0xe7c
mov dword [esp + 0x70], esi
mov esi, ebp
sub esi, edx
lea edi, [esi + 0xe7a]
mov esi, ebp
sub esi, edx
add esi, 0xe78
mov dword [esp + 0x74], esi
mov esi, ebp
sub esi, edx
add esi, 0xe79
mov dword [esp + 0x7c], esi
lea esi, [ecx - 4]
shr esi, 2
add eax, edx
add esi, 1
movzx edx, byte [eax]
mov ebx, dword [esp + 0x70]
mov byte [eax + ebx], dl
movzx edx, byte [eax + edi]
mov byte [eax], dl
mov edx, dword [esp + 0x7c]
movzx ebx, byte [eax + edx]
mov byte [eax + edi], bl
mov ebx, dword [esp + 0x74]
movzx ebx, byte [eax + ebx]
mov byte [eax + edx], bl
sub ecx, 4
sub eax, 4
sub esi, 1
jne 0x10017c90
mov edx, dword [esp + 0x80]
mov bl, byte [esp + 0x17]
test ecx, ecx
jbe 0x10017ce3
sub ecx, 1
mov al, byte [ecx + edx + 0xe7c]
mov byte [ecx + edx + 0xe7d], al
jne 0x10017cd0
mov byte [edx + 0xe7c], bl
jmp 0x10017e0d
mov edx, ecx
shr edx, 4
mov edi, dword [ebp + edx*4 + 0x1e7c]
lea esi, [ebp + edx*4 + 0x1e7c]
and ecx, 0xf
add ecx, edi
cmp ecx, edi
mov bl, byte [ecx + ebp + 0xe7c]
mov byte [esp + 0x17], bl
jle 0x10017d35
jmp 0x10017d20
mov al, byte [ecx + ebp + 0xe7b]
mov byte [ecx + ebp + 0xe7c], al
sub ecx, 1
cmp ecx, dword [esi]
jg 0x10017d20
add dword [esi], 1
test edx, edx
jle 0x10017d60
mov eax, esi
mov edi, edi
add dword [eax], 0xffffffff
mov ecx, dword [eax - 4]
mov esi, dword [eax]
mov cl, byte [ecx + ebp + 0xe8b]
sub edx, 1
sub eax, 4
test edx, edx
mov byte [esi + ebp + 0xe7c], cl
jg 0x10017d40
add dword [ebp + 0x1e7c], 0xffffffff
mov eax, dword [ebp + 0x1e7c]
mov byte [eax + ebp + 0xe7c], bl
cmp dword [ebp + 0x1e7c], 0
jne 0x10017e0d
mov ecx, 0xfff
mov edi, 0xf
lea esi, [ebp + 0x1eb8]
mov eax, 0xf
jmp 0x10017da0
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe7c]
mov byte [ecx + ebp + 0xe7c], dl
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe7b]
mov byte [ecx + ebp + 0xe7b], dl
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe7a]
mov byte [ecx + ebp + 0xe7a], dl
mov ebx, dword [esi]
lea edx, [eax + ebp]
movzx edx, byte [edx + ebx + 0xe79]
mov byte [ecx + ebp + 0xe79], dl
sub eax, 4
sub ecx, 4
test eax, eax
jge 0x10017da0
lea eax, [ecx + 1]
mov dword [esi], eax
sub edi, 1
sub esi, 4
test edi, edi
jge 0x10017d91
mov bl, byte [esp + 0x17]
movzx ecx, bl
movzx edx, byte [ecx + ebp + 0xd7c]
add dword [ebp + edx*4 + 0x40], 1
cmp byte [ebp + 0x28], 0
lea eax, [ecx + ebp + 0xd7c]
lea ecx, [ebp + edx*4 + 0x40]
mov edx, dword [esp + 0x1c]
je 0x10017e42
movzx ax, byte [eax]
mov ecx, dword [ebp + 0xc50]
mov word [ecx + edx*2], ax
jmp 0x10017e4e
movzx eax, byte [eax]
mov ecx, dword [ebp + 0xc4c]
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x50]
add dword [esp + 0x1c], 1
test ecx, ecx
jne 0x10017eb1
mov eax, dword [esp + 0x64]
add eax, 1
cmp eax, dword [esp + 0x4c]
mov dword [esp + 0x64], eax
jge 0x10018061
movzx eax, byte [eax + ebp + 0x1ebc]
mov edx, dword [ebp + eax*4 + 0xf9fc]
mov dword [esp + 0x6c], eax
imul eax, eax, 0x408
add eax, ebp
mov dword [esp + 0x54], edx
lea edx, [eax + 0xb16c]
mov dword [esp + 0x3c], edx
lea edx, [eax + 0xe1cc]
add eax, 0xc99c
mov ecx, 0x32
mov dword [esp + 0x48], edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x54]
sub ecx, 1
mov dword [esp + 0x50], ecx
mov dword [esp + 0x18], eax
mov ebx, 1
mov ecx, dword [ebp + 0x20]
cmp ecx, dword [esp + 0x18]
mov dword [ebp + 4], 0x28
jge 0x10017f23
mov edx, 8
or ecx, 0xffffffff
lea ecx, [ecx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], edx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], ecx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x10017f1a
add dword [eax + 0xc], ebx
mov eax, dword [ebp + 0x20]
cmp eax, dword [esp + 0x18]
jl 0x10017ee0
mov edx, dword [ebp + 0x20]
mov esi, dword [esp + 0x18]
mov eax, dword [ebp + 0x1c]
sub edx, esi
mov ecx, edx
shr eax, cl
mov edi, ebx
mov ecx, esi
shl edi, cl
mov dword [ebp + 0x20], edx
sub edi, ebx
and eax, edi
jmp 0x10017913
add esi, ebx
mov dword [esp + 0x18], esi
jmp case.0x100166ee.41
mov eax, dword [ebp + 0x34]
test eax, eax
jl 0x10018061
cmp eax, dword [esp + 0x1c]
jge 0x10018061
lea eax, [ebp + 0x448]
lea esi, [ebp + 0x40]
mov ecx, pe_nt_image_headers32
mov edi, eax
mov dword [ebp + 0x444], 0
rep movsd dword es:[edi], dword [esi]
mov ecx, pe_nt_image_headers32
mov edx, dword [eax - 4]
add dword [eax], edx
add eax, 4
sub ecx, ebx
jne 0x10017f86
mov edx, dword [esp + 0x1c]
xor esi, esi
mov dword [esp + 0x10], esi
lea eax, [ebp + 0x444]
mov ecx, dword [eax]
test ecx, ecx
jl 0x1001805d
cmp ecx, edx
jg 0x1001805d
add esi, ebx
add eax, 4
cmp esi, 0x100
jle 0x10017fa2
mov eax, 2
cmp dword [ebp + 0x30], eax
mov dword [esp + 0x10], esi
mov dword [ebp + 0xc], 0
mov byte [ebp + 8], 0
mov dword [ebp + 0xc60], 0xffffffff
mov dword [ebp + 4], eax
jl 0x10018001
push str.rtrld
call fcn.1002f561
add eax, 0x40
push eax
call fcn.1002f702
mov edx, dword [esp + 0x24]
add esp, 8
cmp byte [ebp + 0x28], 0
je 0x10018359
lea edi, [ebp + 0x848]
mov ecx, 0x101
lea esi, [ebp + 0x444]
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
test edx, edx
jle 0x1001808d
mov eax, dword [ebp + 0xc50]
lea edx, [eax + ecx*2]
movzx eax, byte [edx]
mov si, word [ebp + eax*4 + 0x848]
lea eax, [ebp + eax*4 + 0x848]
mov word [edx], si
mov esi, dword [ebp + 0xc54]
mov edx, ecx
sar edx, 1
add esi, edx
test cl, 1
jne 0x1001806b
mov dl, byte [esi]
and dl, 0xf0
or dl, byte [eax + 2]
jmp 0x10018081
mov dword [esp + 0x10], esi
mov eax, 0xfffffffc
jmp 0x100181f1
mov edx, dword [eax]
mov ebx, dword [eax]
sar edx, 0xc
xor dl, byte [esi]
sar ebx, 0xc
and dl, 0xf
xor dl, bl
mov ebx, 1
mov byte [esi], dl
add dword [eax], ebx
add ecx, ebx
cmp ecx, dword [esp + 0x1c]
jl 0x10018024
mov edx, dword [ebp + 0x34]
mov ecx, dword [ebp + 0xc54]
mov eax, edx
sar eax, 1
movzx eax, byte [eax + ecx]
movzx ecx, dl
and cl, 1
add cl, cl
add cl, cl
shr eax, cl
mov ecx, dword [ebp + 0xc50]
mov dword [esp + 0x10], edx
movzx edx, word [ecx + edx*2]
and eax, 0xf
shl eax, 0x10
or eax, edx
mov dword [esp + 0x20], eax
jmp 0x100180d0
mov ecx, dword [esp + 0x20]
mov eax, dword [ebp + 0xc50]
lea esi, [eax + ecx*2]
mov eax, dword [ebp + 0xc54]
mov edx, ecx
and cl, 1
add cl, cl
sar edx, 1
movzx eax, byte [edx + eax]
add cl, cl
shr eax, cl
movzx ecx, word [esi]
and eax, 0xf
shl eax, 0x10
or eax, ecx
test byte [esp + 0x20], 1
mov cx, word [esp + 0x10]
mov word [esi], cx
mov ecx, dword [ebp + 0xc54]
lea esi, [edx + ecx]
mov ecx, dword [esp + 0x10]
jne 0x10018129
mov dl, byte [esi]
sar ecx, 0x10
and dl, 0xf0
or cl, dl
mov byte [esi], cl
jmp 0x1001813a
mov edx, ecx
sar edx, 0xc
xor dl, byte [esi]
sar ecx, 0xc
and dl, 0xf
xor dl, cl
mov byte [esi], dl
mov ecx, dword [esp + 0x20]
cmp ecx, dword [ebp + 0x34]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x20], eax
jne 0x100180d0
mov edx, dword [ebp + 0x34]
xor edi, edi
cmp byte [ebp + 0x10], 0
mov dword [ebp + 0x38], edx
mov dword [ebp + 0x440], edi
je 0x100182f7
mov dword [ebp + 0x14], edi
mov dword [ebp + 0x18], edi
xor esi, esi
mov ecx, pe_nt_image_headers32
lea eax, [ecx + esi]
sar eax, 1
cmp edx, dword [ebp + eax*4 + 0x444]
jl 0x10018182
mov esi, eax
jmp 0x10018184
mov ecx, eax
mov eax, ecx
sub eax, esi
cmp eax, ebx
jne 0x10018170
mov eax, dword [ebp + 0xc54]
mov ecx, edx
shr ecx, 1
mov dword [ebp + 0x3c], esi
movzx eax, byte [ecx + eax]
movzx ecx, dl
and cl, 1
add cl, cl
add cl, cl
shr eax, cl
mov ecx, dword [ebp + 0xc50]
movzx edx, word [ecx + edx*2]
and eax, 0xf
shl eax, 0x10
or eax, edx
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x440], ebx
mov eax, dword [0x10052fc0]
mov ecx, ebx
cmp ecx, 0x200
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], ebx
jne 0x100181dc
mov dword [ebp + 0x18], edi
add dword [ebp + 0x14], 0xffffffff
mov eax, dword [ebp + 0x14]
xor edx, edx
cmp eax, ebx
sete dl
xor edx, esi
mov dword [ebp + 0x3c], edx
xor eax, eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov dword [ebp + 0xfa14], ecx
mov ecx, dword [esp + 0x2c]
mov dword [ebp + 0xfa18], edx
mov edx, dword [esp + 0x60]
mov dword [ebp + 0xfa1c], ecx
mov ecx, dword [esp + 0x40]
mov dword [ebp + 0xfa20], edx
mov edx, dword [esp + 0x4c]
mov dword [ebp + 0xfa24], ecx
mov ecx, dword [esp + 0x58]
mov dword [ebp + 0xfa28], edx
mov edx, dword [esp + 0x64]
mov dword [ebp + 0xfa2c], ecx
mov ecx, dword [esp + 0x50]
mov dword [ebp + 0xfa30], edx
mov edx, dword [esp + 0x44]
mov dword [ebp + 0xfa34], ecx
mov ecx, dword [esp + 0x34]
mov dword [ebp + 0xfa38], edx
mov edx, dword [esp + 0x1c]
mov dword [ebp + 0xfa3c], ecx
mov ecx, dword [esp + 0x24]
mov dword [ebp + 0xfa40], edx
mov edx, dword [esp + 0x5c]
mov dword [ebp + 0xfa44], ecx
mov ecx, dword [esp + 0x30]
mov dword [ebp + 0xfa48], edx
mov edx, dword [esp + 0x78]
mov dword [ebp + 0xfa4c], ecx
mov ecx, dword [esp + 0x18]
mov dword [ebp + 0xfa50], edx
mov edx, dword [esp + 0x28]
mov dword [ebp + 0xfa54], ecx
mov ecx, dword [esp + 0x68]
mov dword [ebp + 0xfa58], edx
mov edx, dword [esp + 0x6c]
mov dword [ebp + 0xfa5c], ecx
mov ecx, dword [esp + 0x54]
mov dword [ebp + 0xfa60], edx
mov edx, dword [esp + 0x3c]
mov dword [ebp + 0xfa64], ecx
mov ecx, dword [esp + 0x38]
pop edi
mov dword [ebp + 0xfa68], edx
mov edx, dword [esp + 0x44]
mov dword [ebp + 0xfa6c], ecx
mov ecx, dword [esp + 0x84]
pop esi
mov dword [ebp + 0xfa70], edx
pop ebp
pop ebx
xor ecx, esp
call fcn.1002b34a
add esp, 0x7c
ret
xor ecx, ecx
mov esi, pe_nt_image_headers32
mov edi, edi
lea eax, [ecx + esi]
sar eax, 1
cmp edx, dword [ebp + eax*4 + 0x444]
jl 0x10018312
mov ecx, eax
jmp 0x10018314
mov esi, eax
mov eax, esi
sub eax, ecx
cmp eax, ebx
jne 0x10018300
mov eax, dword [ebp + 0xc54]
mov dword [ebp + 0x3c], ecx
mov ecx, edx
shr ecx, 1
movzx eax, byte [ecx + eax]
movzx ecx, dl
and cl, 1
add cl, cl
add cl, cl
shr eax, cl
mov ecx, dword [ebp + 0xc50]
movzx edx, word [ecx + edx*2]
and eax, 0xf
shl eax, 0x10
or eax, edx
mov dword [ebp + 0x38], eax
mov dword [ebp + 0x440], ebx
jmp 0x100181ef
test edx, edx
mov dword [esp + 0x10], 0
jle 0x100183a7
jmp 0x10018370
mov ecx, dword [ebp + 0xc4c]
mov edx, dword [esp + 0x10]
movzx eax, byte [ecx + edx*4]
mov esi, dword [ebp + eax*4 + 0x444]
lea eax, [ebp + eax*4 + 0x444]
shl edx, 8
or dword [ecx + esi*4], edx
add dword [eax], ebx
mov eax, dword [esp + 0x10]
lea ecx, [ecx + esi*4]
add eax, ebx
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
jl 0x10018370
mov ecx, dword [ebp + 0x34]
mov eax, dword [ebp + 0xc4c]
mov edx, dword [eax + ecx*4]
xor ecx, ecx
shr edx, 8
cmp byte [ebp + 0x10], cl
mov dword [ebp + 0x38], edx
mov dword [ebp + 0x440], ecx
je 0x10018406
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x18], ecx
mov ecx, edx
mov edx, dword [eax + ecx*4]
movzx eax, dl
mov dword [ebp + 0x38], edx
shr dword [ebp + 0x38], 8
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x440], ebx
mov ecx, dword [0x10052fc0]
mov dword [ebp + 0x14], ecx
add dword [ebp + 0x14], 0xffffffff
mov eax, dword [ebp + 0x14]
xor edx, edx
cmp eax, ebx
sete dl
mov dword [ebp + 0x18], ebx
xor dword [ebp + 0x3c], edx
jmp 0x100181ef
mov ecx, dword [ebp + 0x38]
mov edx, dword [eax + ecx*4]
movzx eax, dl
mov dword [ebp + 0x38], edx
shr dword [ebp + 0x38], 8
mov dword [ebp + 0x3c], eax
mov dword [ebp + 0x440], ebx
jmp 0x100181ef
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2a
jge 0x1001847f
or edx, 0xffffffff
jmp 0x10018440
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001847a
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10018440
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x72
jne 0x10018061
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2b
jge 0x100184f0
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100184eb
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x100184b1
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x45
jne 0x10018061
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2c
jge 0x10018561
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001855c
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10018522
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x38
jne 0x10018061
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2d
jge 0x100185d2
or edx, 0xffffffff
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100185cd
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10018593
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x50
jne 0x10018061
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2e
jge 0x1001864f
or edx, 0xffffffff
jmp 0x10018610
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001864a
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10018610
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
cmp al, 0x90
jne 0x10018061
mov dword [ebp + 0xc5c], 0
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x2f
jge 0x100186cf
or edx, 0xffffffff
jmp 0x10018690
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100186ca
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10018690
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x30
jge 0x1001874f
or edx, 0xffffffff
lea ecx, [ecx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001874a
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10018710
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x31
jge 0x100187cf
or edx, 0xffffffff
lea ecx, [ecx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x100187ca
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10018790
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov ecx, 8
cmp dword [ebp + 0x20], ecx
mov dword [ebp + 4], 0x32
jge 0x1001884f
or edx, 0xffffffff
lea ecx, [ecx]
mov eax, dword [ebp]
cmp dword [eax + 4], 0
je 0x100181ef
mov edi, dword [eax]
movzx edi, byte [edi]
mov esi, dword [ebp + 0x1c]
add dword [ebp + 0x20], ecx
shl esi, 8
or esi, edi
mov dword [ebp + 0x1c], esi
add dword [eax], ebx
mov eax, dword [ebp]
add dword [eax + 4], edx
mov eax, dword [ebp]
add dword [eax + 8], ebx
mov eax, dword [ebp]
cmp dword [eax + 8], 0
jne 0x1001884a
add dword [eax + 0xc], ebx
cmp dword [ebp + 0x20], ecx
jl 0x10018810
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x1c]
lea ecx, [edx - 8]
shr eax, cl
mov ecx, dword [ebp + 0xc5c]
add edx, 0xfffffff8
mov dword [ebp + 0x20], edx
and eax, 0xff
movzx edx, al
shl ecx, 8
or ecx, edx
mov dword [ebp + 0xc5c], ecx
mov dword [ebp + 4], ebx
mov eax, 4
jmp 0x100181f1
push str.1.0.4__20_Dec_2006
push 0xfa1
push str._n_nbzip2_libbzip2:_internal_error_number__d._nThis_is_a_bug_in_bzip2_libbzip2___s._nPlease_report_it_to_me_at:_jseward_bzip.org.__If_this_happened_nwhen_you_were_using_some_program_which_uses_libbzip2_as_a_ncomponent__you_should_also_report_this_bug_to_the_author_s__nof_that_program.__Please_make_an_effort_to_report_this_bug__ntimely_and_accurate_bug_reports_eventually_lead_to_higher_nquality_software.__Thanks.__Julian_Seward__15_February_2005._n_n
call fcn.1002f561
add eax, 0x40
push eax
call fcn.1002f702
add esp, 0x10
push 3
call fcn.1002fae1
lea ecx, [ecx]
cmc
add word [eax], dx
imul esp, dword [edi + 1], 0x10
fbld tbyte [edi + 1]
adc byte [ebx + 104], dl
add dword [eax], edx
push edx
imul eax, dword [ecx], 23709968
adc byte [esi], bh
push 1
adc byte [esi + 0x1e10016a], ch
imul eax, dword [ecx], 0x10
mov gs, word [ebx + 1]
adc byte [ebx], ch
insb byte es:[edi], dx
add dword [eax], edx
stosb byte es:[edi], al
insb byte es:[edi], dx
add dword [eax], edx
sub ch, byte [ebp + 1]
adc byte [edx + 705692013], ch
outsb dx, byte [esi]
add dword [eax], edx
popfd
outsb dx, byte [esi]
add dword [eax], edx
adc al, 0x6f
add dword [eax], edx
xchg esp, eax
outsd dx, dword [esi]
add dword [eax], edx
cmp al, 0x70
add dword [eax], edx
out 0x70, eax
add dword [eax], edx
mov dh, 0x71
add dword [eax], edx
cmp dh, byte [edx + 1]
adc cl, al
jb 0x1001890c
adc byte [ebx + 0x75], cl
add dword [eax], edx
dec ebx
jne 268536080
adc byte [ebp + 0x8100174], dl
xchg ebp, eax
je 268536084
adc byte [eax], cl
or byte [ecx + eax + 0x10], dh
je 0x10018918
adc byte [ebx + 0x77], bl
add dword [eax], edx
pop ebx
ja 268536092
adc ah, bl
ja 0x10018920
fdiv qword [edi + 1]
adc byte [ecx], dl
jp 0x10018924
adc dword [edx + 1], edi
adc byte [eax - 0x3aeffe86], dh
jle 0x1001892c
mov al, 0x7a
add dword [eax], edx
lds edi, [esi + 1]
adc byte [eax + edi*2 - 0x7bdbefff], dl
xchg esp, eax
js 268536112
adc byte [esp + eax*4], ah
and al, 0x84
add dword [eax], edx
popfd
test byte [ecx], al
adc byte [esi], cl
test dword [ecx], eax
adc byte [edi - 0x7b], bh
add dword [eax], edx
invalid