Function at 0x1001a353
Capabilities:
Encode data using base64
Get disk information
Get file size
Get memory capacity
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xafc
mov edx, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
lea ecx, [eax + 0x98c]
push esi
push edi
mov edi, eax
mov dword [esp + 0xa4], ecx
cmp eax, ecx
ja 0x1001a174
mov esi, dword [esp + 0x10]
jmp 0x1001a103
mov edx, dword [ebp + 0xc]
cmp edi, 0x44e4
ja 0x1001a390
je 0x1001a37b
cmp edi, 0x382f
ja 0x1001a201
je 0x1001a1d6
cmp edi, 0xdf6
ja 0x1001a1ad
je 0x1001a197
mov eax, edi
sub eax, 0xd3a
je 0x1001a151
sub eax, 0x5e
jne 0x1001ddd7
mov eax, dword [ebx]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x6c], ecx
jmp 0x1001ddd7
mov eax, dword [ebx]
test eax, eax
je 0x1001a161
cmp dword [eax + 0x1c], 0
jne 0x1001ddd7
mov ecx, 0x363e
mov eax, ecx
sub eax, 0x363e
je 0x1001a17f
sub eax, 0x1d
jne 0x1001a187
mov eax, dword [esp + 0x5c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x5c], 0xfffffffe
add ecx, 0x1d
cmp ecx, 0x365b
jbe 0x1001a166
jmp 0x1001ddd7
mov ecx, dword [esp + 0x6c]
xor eax, eax
cmp dword [edx], eax
sete al
mov dword [ecx + 0x1bc0], eax
jmp 0x1001ddd7
mov eax, edi
sub eax, 0xe54
je 0x1001a1ee
sub eax, 0x5e
jne 0x1001ddd7
mov eax, 0x5178
cmp eax, eax
je 0x1001ddf2
add eax, 0x3b
cmp eax, 0x5178
jbe 0x1001a1c6
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push str.test_mark_knot____d_n
call fcn.10028604
add esp, 8
jmp 0x1001ddd7
mov edx, dword [esp + 0x6c]
mov dword [edx + 0x1bc0], 1
jmp 0x1001ddd7
cmp edi, 0x4428
ja 0x1001a306
je 0x1001a2f8
mov eax, edi
sub eax, 0x436c
je 0x1001a266
sub eax, 0x5e
jne 0x1001ddd7
mov eax, dword [ebx]
test eax, eax
je 0x1001a24a
cmp dword [eax + 0x1c], 0
je 0x1001a24a
cmp dword [eax + 0xc], 0
je 0x1001a24a
cmp dword [eax], 0
jne 0x1001ddd7
cmp dword [eax + 4], 0
je 0x1001ddd7
mov eax, 0x4bd6
cmp eax, eax
je 0x1001ddfe
add eax, 8
cmp eax, 0x4bd6
jbe 0x1001a251
jmp 0x1001ddd7
push 0x10b1bf38
lea eax, [esp + 0xa2]
push eax
lea ecx, [esp + 0x80]
mov edx, 0xf
push ecx
mov dword [esp + 0x84], 0x110010
mov dword [esp + 0x88], 0x12
mov dword [esp + 0x8c], 0x70008
mov dword [esp + 0x90], 0x60009
mov dword [esp + 0x94], 0x5000a
mov dword [esp + 0x98], 0x4000b
mov dword [esp + 0x9c], 0x3000c
mov dword [esp + 0xa0], 0x2000d
mov dword [esp + 0xa4], 0x1000e
mov word [esp + 0xa8], dx
call fcn.100272a0
add esp, 0xc
jmp 0x1001ddd7
mov edx, dword [ebx]
mov esi, dword [edx + 0x1c]
mov dword [esp + 0x10], esi
jmp 0x1001ddd7
cmp edi, 0x4486
jne 0x1001ddd7
cmp dword [esi], 0xb
jne 0x1001a31d
mov dword [esi], 0xc
xor ecx, ecx
lea edx, [ecx + 4]
cmp ecx, 0x7b
ja case.0x1001a32e.1
movzx eax, byte [ecx + 0x1001de20]
jmp dword [eax*4 + 0x1001de0c]
mov eax, dword [esi + 0x38]
mov dword [esp + 0x14], eax
jmp case.0x1001a32e.1
mov eax, dword [ebx]
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
jmp case.0x1001a32e.1
mov eax, dword [ebx]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x38], eax
jmp case.0x1001a32e.1
mov eax, dword [esi + 0x3c]
mov dword [esp + 0x18], eax
add ecx, 0x29
dec edx
jne 0x1001a322
jmp 0x1001ddd7
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x3c], edx
jmp 0x1001ddd7
cmp edi, 0x46ba
ja 0x1001dcec
je 0x1001dcd7
cmp edi, 0x45fe
ja 0x1001dc55
je 0x1001b237
mov eax, edi
sub eax, 0x4542
je 0x1001dbfa
sub eax, 0x5e
jne 0x1001ddd7
lea ebx, [ebx]
mov eax, 0xa0d
cmp eax, eax
jne 0x1001dbe7
mov eax, dword [esi]
cmp eax, 0x1f
ja case.0x1001a3e8.31
jmp dword [eax*4 + 0x1001de9c]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x44]
mov edi, dword [esp + 0x18]
mov eax, 0x4fd8
mov dword [esp + 0x34], eax
cmp eax, 0x507c
ja 0x1001a790
je 0x1001a733
add eax, 0xffffb028
cmp eax, 0x7b
ja case.0x1001a42a.20441
movzx eax, byte [eax + 0x1001df30]
jmp dword [eax*4 + 0x1001df1c]
mov edx, dword [esp + 0x14]
mov eax, edx
and al, 0xf
cmp al, 8
je 0x1001a47c
mov ecx, 0x662a
mov eax, ecx
sub eax, 0x662a
je 0x1001a465
sub eax, 0xf
je 0x1001a45d
sub eax, 0xf
je case.0x1001bdcc.56
jmp 0x1001a471
mov dword [esi], 0x1d
jmp 0x1001a471
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [eax + 0x18], str.unknown_compression_method
add ecx, 0xf
cmp ecx, 0x6648
jbe 0x1001a444
mov ecx, 0x6be6
mov eax, ecx
sub eax, 0x6be6
je 0x1001a494
sub eax, 0x3d
jne 0x1001a497
sub edi, 4
jmp 0x1001a497
shr edx, 4
add ecx, 0x3d
cmp ecx, 0x6c23
jbe 0x1001a481
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], edi
jmp case.0x1001a42a.20441
test byte [esi + 8], 2
je 0x1001a631
mov ebx, dword [esp + 0x14]
cmp ebx, 0x8b1f
jne 0x1001a631
xor esi, esi
jmp 0x1001a4d0
cmp esi, 0xb4
ja case.0x1001a4e3.1
movzx ecx, byte [esi + 0x1001dfc8]
jmp dword [ecx*4 + 0x1001dfac]
mov edx, dword [0x10040aec]
mov edi, dword [0x10040af4]
mov eax, dword [0x10040af0]
mov dword [esp + 0xb4], edx
mov edx, dword [0x10040af8]
mov dword [esp + 0xb8], eax
mov eax, dword [0x10040afc]
mov dword [esp + 0xbc], edi
lea ecx, [esp + 0x78]
mov dword [esp + 0xc0], edx
push ecx
lea edx, [esp + 0xcc]
mov dword [esp + 0xc8], eax
push edx
lea eax, [esp + 0xbc]
push eax
call fcn.100271a0
add esp, 0xc
mov edi, 0x6e55
jmp 0x1001a550
mov eax, edi
sub eax, 0x6e55
je 0x1001a58a
sub eax, 0x23
je 0x1001a57f
sub eax, 0x23
jne 0x1001a58e
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x18]
push 2
push edx
lea ecx, [esp + 0x48]
call fcn.100244a0
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x18], eax
jmp 0x1001a58e
mov edx, ebx
shr edx, 8
mov byte [esp + 0x41], dl
jmp 0x1001a58e
mov byte [esp + 0x40], bl
add edi, 0x23
cmp edi, 0x6e9b
jbe 0x1001a550
jmp case.0x1001a4e3.1
push 0
push 0
xor ecx, ecx
mov byte [esp + 0x57], 1
call fcn.100244a0
mov edi, dword [esp + 0x10]
mov dword [edi + 0x18], eax
jmp case.0x1001a4e3.1
lea edx, [esp + 0x78]
push edx
push 0x100
xor edi, edi
push edi
push 4
push edi
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov dword [esp + 0x70], eax
mov eax, 0x3675
mov ecx, eax
sub ecx, 0x3675
je 0x1001a5ea
sub ecx, 0x39
jne 0x1001a5f0
mov dword [esp + 0x18], edi
jmp 0x1001a5f0
mov dword [esp + 0x14], edi
mov ebx, edi
add eax, 0x39
cmp eax, 0x36ae
jbe 0x1001a5d5
jmp case.0x1001a4e3.1
cmp dword [esp + 0x70], 0
jne case.0x1001a4e3.1
mov byte [esp + 0x4f], 0
jmp case.0x1001a4e3.1
mov eax, dword [esp + 0x10]
mov dword [eax], 1
add esi, 0x24
lea ecx, [esi + 0x3b74]
cmp ecx, 0x3c28
jbe 0x1001a4d0
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x44]
mov dword [esi + 0x10], 0
jmp case.0x1001a42a.20441
mov edx, dword [esi + 0x20]
test edx, edx
je 0x1001a64f
mov dword [edx + 0x30], 0xffffffff
test byte [esi + 8], 1
je 0x1001a675
mov edx, dword [esp + 0x14]
movzx eax, dl
shl eax, 8
shr edx, 8
add eax, edx
xor edx, edx
mov ecx, 0x1f
div ecx
test edx, edx
je case.0x1001a42a.20441
mov edx, dword [ebp + 8]
mov ecx, 0x3f9c
lea ecx, [ecx]
mov eax, ecx
sub eax, 0x3f9c
je 0x1001a694
sub eax, 0x24
je case.0x1001bdcc.56
jmp 0x1001a6a3
mov eax, dword [edx]
mov dword [eax + 0x18], str.incorrect_header_check
mov dword [esi], 0x1d
add ecx, 0x24
cmp ecx, 0x3fc0
jbe 0x1001a680
jmp case.0x1001a42a.20441
cmp dword [esi + 8], 0
jne 0x1001a6d0
mov eax, 0x69b0
cmp eax, eax
je 0x1001a8ba
add eax, 0x3c
cmp eax, 0x69b0
jbe 0x1001a6c0
cmp edi, 0x10
jae case.0x1001a42a.20441
mov edx, 0x6d5a
mov eax, edx
sub eax, 0x6d5a
je 0x1001a70f
sub eax, 0x10
je 0x1001a6fa
sub eax, 0x10
jne 0x1001a71e
add edi, 8
mov dword [esp + 0x18], edi
jmp 0x1001a71e
mov ecx, dword [esp + 0x20]
movzx eax, byte [ecx]
mov ecx, edi
shl eax, cl
add dword [esp + 0x14], eax
inc dword [esp + 0x20]
jmp 0x1001a71e
cmp dword [esp + 0x1c], 0
je 0x1001b237
dec dword [esp + 0x1c]
add edx, 0x10
cmp edx, 0x6d7a
jbe 0x1001a6de
cmp edi, 0x10
jb 0x1001a6d9
jmp case.0x1001a42a.20441
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x24]
and ebx, 0xf
add ebx, 8
mov dword [esp + 0x44], ebx
test eax, eax
jne 0x1001a750
mov dword [esi + 0x24], ebx
jmp case.0x1001a42a.20441
cmp ebx, eax
jbe case.0x1001a42a.20441
mov edx, dword [ebp + 8]
mov ecx, 0x4ada
mov eax, ecx
sub eax, 0x4ada
je 0x1001a774
sub eax, 0x3b
je case.0x1001bdcc.56
jmp 0x1001a783
mov eax, dword [edx]
mov dword [eax + 0x18], str.invalid_window_size
mov dword [esi], 0x1d
add ecx, 0x3b
cmp ecx, 0x4b15
jbe 0x1001a760
jmp case.0x1001a42a.20441
sub eax, 0x50a5
je 0x1001a7d9
sub eax, 0x29
je 0x1001a7a7
sub eax, 0x29
je case.0x1001bdcc.56
jmp case.0x1001a42a.20441
mov eax, dword [esp + 0x14]
shr eax, 8
not eax
and eax, 2
or eax, 9
mov dword [esi], eax
mov eax, 0x249d
xor ecx, ecx
cmp eax, eax
jne 0x1001a7c9
mov dword [esp + 0x14], ecx
xor edi, edi
add eax, 0x14
cmp eax, 0x249d
jbe 0x1001a7c1
mov dword [esp + 0x18], edi
jmp case.0x1001a42a.20441
mov ecx, ebx
mov edx, 1
shl edx, cl
push 0
push 0
xor ecx, ecx
mov dword [esi + 0x14], edx
call fcn.100194b0
mov ecx, dword [ebp + 8]
mov dword [esi + 0x18], eax
mov edx, dword [ecx]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x34]
add eax, 0x29
mov dword [esp + 0x34], eax
cmp eax, 0x50f7
jbe 0x1001a404
mov esi, 0x41d
mov ebx, str.unknown_header_flags_set
jmp 0x1001a820
cmp esi, 0x4e3
ja 0x1001a9b5
je 0x1001a953
mov eax, esi
sub eax, 0x41d
je 0x1001a8e4
sub eax, 0x63
jne 0x1001aa4a
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x10], 8
je 0x1001aa4a
mov edi, dword [ebp + 8]
mov ecx, 0x3bf
mov edx, eax
mov eax, ecx
sub eax, 0x3bf
je 0x1001a8c5
sub eax, 0x3f
je case.0x1001bdcc.56
jmp 0x1001a8d4
cmp byte [esp + 0x4f], 0
je case.0x1001bdcc.56
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebx, dword [esp + 0x70]
mov esi, 0x180f
mov eax, esi
sub eax, 0x180f
je 0x1001a8a1
sub eax, 0x4e
jne 0x1001a8aa
push ebx
call edi
jmp 0x1001a8aa
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
add esi, 0x4e
cmp esi, 0x185d
jbe 0x1001a88e
jmp case.0x1001bdcc.56
mov dword [esi], 0xc
jmp case.0x1001bdcc.56
mov eax, dword [edi]
mov dword [eax + 0x18], str.unknown_compression_method
mov dword [edx], 0x1d
add ecx, 0x3f
cmp ecx, 0x3fe
jbe 0x1001a860
jmp 0x1001aa4a
mov ecx, dword [esp + 0x18]
cmp ecx, 0x10
jae 0x1001a943
mov edx, 1
mov edi, 0x5eef
mov eax, edi
sub eax, 0x5eef
je 0x1001a924
sub eax, 0x24
jne 0x1001a933
mov eax, dword [esp + 0x20]
movzx eax, byte [eax]
shl eax, cl
mov edx, 1
add dword [esp + 0x20], edx
add dword [esp + 0x14], eax
add ecx, 8
mov dword [esp + 0x18], ecx
jmp 0x1001a933
cmp dword [esp + 0x1c], 0
je 0x1001b237
sub dword [esp + 0x1c], edx
add edi, 0x24
cmp edi, 0x5f13
jbe 0x1001a8f7
cmp ecx, 0x10
jb 0x1001a8f2
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [edx + 0x10], ecx
jmp 0x1001aa4a
mov edi, dword [esp + 0x10]
test dword [edi + 0x10], 0xe000
je 0x1001a999
mov edx, dword [ebp + 8]
mov ecx, 0x704f
jmp 0x1001a970
mov eax, ecx
sub eax, 0x704f
je 0x1001a989
sub eax, 0x56
jne 0x1001a98e
mov dword [edi], 0x1d
jmp case.0x1001bdcc.56
mov eax, dword [edx]
mov dword [eax + 0x18], ebx
add ecx, 0x56
cmp ecx, 0x70a5
jbe 0x1001a970
mov eax, dword [edi + 0x20]
test eax, eax
je 0x1001aa4a
mov edi, dword [esp + 0x14]
shr edi, 8
and edi, 1
mov dword [eax], edi
jmp 0x1001aa4a
mov eax, esi
sub eax, 0x546
je 0x1001a9f0
sub eax, 0x63
jne 0x1001aa4a
mov eax, 0x432f
xor ecx, ecx
cmp eax, eax
jne 0x1001a9da
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
add eax, 0x5c
cmp eax, 0x432f
jbe 0x1001a9d0
mov edx, dword [esp + 0x10]
mov dword [edx], 2
jmp 0x1001aa4a
mov eax, dword [esp + 0x10]
test dword [eax + 0x10], 0x200
je 0x1001aa4a
mov edi, 0x62ac
mov eax, edi
sub eax, 0x62ac
je 0x1001aa37
sub eax, 0x15
jne 0x1001aa3f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
shr ecx, 8
mov byte [esp + 0x41], cl
mov eax, dword [edx + 0x18]
push 2
push eax
lea ecx, [esp + 0x48]
call fcn.100244a0
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x18], eax
jmp 0x1001aa3f
mov dl, byte [esp + 0x14]
mov byte [esp + 0x40], dl
add edi, 0x15
cmp edi, 0x62c1
jbe 0x1001aa02
add esi, 0x63
cmp esi, 0x5a9
jbe 0x1001a820
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edi, 0x78a1
mov eax, edi
sub eax, 0x78a1
je 0x1001ab2c
sub eax, 0x19
je 0x1001aaab
sub eax, 0x19
jne 0x1001ab8a
mov eax, 0x1f8c
xor edx, edx
cmp eax, eax
jne 0x1001aa92
mov dword [esp + 0x14], edx
xor ecx, ecx
add eax, 0xb
cmp eax, 0x1f8c
jbe 0x1001aa8a
mov dword [esp + 0x18], ecx
mov dword [esi], 3
jmp 0x1001ab8a
mov eax, dword [esi + 0x20]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x1001aab9
mov dword [eax + 4], ebx
test dword [esi + 0x10], 0x200
je 0x1001ab8a
mov esi, 0x3e42
mov eax, esi
sub eax, 0x3e42
je 0x1001ab0e
sub eax, 0x59
je 0x1001ab03
sub eax, 0x59
jne 0x1001ab1b
mov ecx, dword [esp + 0x10]
mov eax, ebx
shr eax, 0x18
mov byte [esp + 0x43], al
mov edx, dword [ecx + 0x18]
push 4
push edx
lea ecx, [esp + 0x48]
call fcn.100244a0
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x18], eax
jmp 0x1001ab1b
mov edx, ebx
shr edx, 0x10
mov byte [esp + 0x42], dl
jmp 0x1001ab1b
mov ecx, ebx
shr ecx, 8
mov byte [esp + 0x40], bl
mov byte [esp + 0x41], cl
add esi, 0x59
cmp esi, 0x3ef4
jbe 0x1001aacb
mov ecx, dword [esp + 0x18]
jmp 0x1001ab86
cmp ecx, 0x20
jae 0x1001ab8a
mov edx, 0x1b27
mov eax, edx
sub eax, 0x1b27
je 0x1001ab63
sub eax, 0x62
jne 0x1001ab72
mov eax, dword [esp + 0x20]
movzx esi, byte [eax]
mov ecx, dword [esp + 0x18]
shl esi, cl
inc eax
mov dword [esp + 0x20], eax
add dword [esp + 0x14], esi
add ecx, 8
mov dword [esp + 0x18], ecx
jmp 0x1001ab72
cmp dword [esp + 0x1c], 0
je 0x1001b237
dec dword [esp + 0x1c]
add edx, 0x62
cmp edx, 0x1b89
jbe 0x1001ab36
mov ecx, dword [esp + 0x18]
cmp ecx, 0x20
jb 0x1001ab31
mov esi, dword [esp + 0x10]
add edi, 0x19
cmp edi, 0x78d3
jbe 0x1001aa66
mov edi, dword [esp + 0x18]
mov ebx, 0x5049
xor esi, esi
cmp esi, 0x48
ja case.0x1001abb4.1
movzx ecx, byte [esi + 0x1001e0a0]
jmp dword [ecx*4 + 0x1001e080]
cmp edi, 0x10
jae case.0x1001abb4.1
mov edx, 0xf02
mov eax, edx
sub eax, 0xf02
je 0x1001abfa
sub eax, 2
je 0x1001abe5
sub eax, 2
jne 0x1001ac0d
add edi, 8
mov dword [esp + 0x18], edi
jmp 0x1001ac0d
mov eax, dword [esp + 0x20]
movzx eax, byte [eax]
mov ecx, edi
shl eax, cl
add dword [esp + 0x14], eax
inc dword [esp + 0x20]
jmp 0x1001ac0d
cmp dword [esp + 0x1c], 0
je 0x1001b237
dec dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
add edx, 2
cmp edx, 0xf06
jbe 0x1001abc9
cmp edi, 0x10
jb 0x1001abc4
jmp case.0x1001abb4.1
mov ecx, 0x3de3
xor edx, edx
lea esp, [esp]
mov eax, ecx
sub eax, 0x3de3
je 0x1001ac42
sub eax, 0x63
jne 0x1001ac46
xor edi, edi
jmp 0x1001ac46
mov dword [esp + 0x14], edx
add ecx, 0x63
cmp ecx, 0x3e46
jbe 0x1001ac30
lea ecx, [esp + 0x130]
push ecx
mov dword [esp + 0x1c], edi
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
jmp case.0x1001abb4.1
mov edx, dword [esp + 0x10]
test dword [edx + 0x10], 0x200
je case.0x1001abb4.1
mov edi, 0x1b84
mov eax, edi
sub eax, 0x1b84
je 0x1001aca8
sub eax, 0x52
jne 0x1001acb7
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x18]
push 2
push ecx
lea ecx, [esp + 0x48]
call fcn.100244a0
mov edx, dword [esp + 0x10]
mov dword [edx + 0x18], eax
jmp 0x1001acb7
mov eax, dword [esp + 0x14]
mov byte [esp + 0x40], al
shr eax, 8
mov byte [esp + 0x41], al
add edi, 0x52
cmp edi, 0x1bd6
jbe 0x1001ac7e
mov edi, dword [esp + 0x18]
jmp case.0x1001abb4.1
mov dword [esp + 0x130], 0x40
jmp case.0x1001abb4.1
push 0x40
lea eax, [esp + 0x134]
push 0
push eax
call fcn.10030930
add esp, 0xc
jmp case.0x1001abb4.1
mov eax, dword [esp + 0x10]
mov dword [eax], 4
jmp case.0x1001abb4.1
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x20], 0
je case.0x1001abb4.1
mov eax, 0x259e
cmp eax, eax
jne 0x1001ad2f
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x20]
and edx, 0xff
mov dword [ecx + 8], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x20]
shr ecx, 8
mov dword [edx + 0xc], ecx
add eax, 0x25
cmp eax, 0x259e
jbe 0x1001ad08
add ebx, 0xc
add esi, 0xc
cmp ebx, 0x5091
jbe 0x1001aba4
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov esi, 0x7c3b
mov dword [esp + 0x2c], esi
mov eax, esi
sub eax, 0x7c3b
je 0x1001ad79
sub eax, 0x30
jne 0x1001af77
mov dword [ecx], 5
jmp 0x1001af77
test dword [ecx + 0x10], 0x400
je 0x1001af69
xor ebx, ebx
mov dword [esp + 0x24], 0x29f9
mov dword [esp + 0x50], ebx
cmp ebx, 0x2d
ja case.0x1001ada4.1
movzx eax, byte [ebx + 0x1001e100]
jmp dword [eax*4 + 0x1001e0ec]
mov eax, 0x161f
xor edi, edi
cmp eax, eax
jne 0x1001adbc
xor edx, edx
mov dword [esp + 0x18], edi
add eax, 0x25
cmp eax, 0x161f
jbe 0x1001adb4
mov dword [esp + 0x14], edx
jmp case.0x1001ada4.1
cmp dword [esp + 0x18], 0x10
jae case.0x1001ada4.1
lea ebx, [ebx]
xor esi, esi
mov dword [esp + 0x34], esi
cmp esi, 0xbe
ja case.0x1001adf9.1
movzx ecx, byte [esi + 0x1001e14c]
jmp dword [ecx*4 + 0x1001e130]
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [esp + 0x74], eax
jmp case.0x1001adf9.1
cmp byte [esp + 0x4e], 0
je case.0x1001adf9.1
mov esi, dword [esp + 0xa8]
mov edi, dword [esp + 0x74]
mov ebx, 0x38e
cmp ebx, ebx
jne 0x1001ae51
push 0
lea edx, [esp + 0xe0]
push edx
push esi
lea eax, [esp + 0x17c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadConsoleW]
push edi
call dword [sym.imp.KERNEL32.dll_FlushConsoleInputBuffer]
add ebx, 0x20
cmp ebx, 0x38e
jbe 0x1001ae2e
mov esi, dword [esp + 0x34]
jmp case.0x1001adf9.1
dec dword [esp + 0x1c]
mov dword [esp + 0xa8], 0x40
jmp case.0x1001adf9.1
mov edi, dword [esp + 0x20]
movzx edx, byte [edi]
mov ecx, dword [esp + 0x18]
shl edx, cl
inc edi
mov dword [esp + 0x20], edi
add dword [esp + 0x14], edx
cmp dword [esp + 0x74], 0xffffffff
jne case.0x1001adf9.1
mov byte [esp + 0x4e], 0
jmp case.0x1001adf9.1
add dword [esp + 0x18], 8
jmp case.0x1001adf9.1
cmp dword [esp + 0x1c], 0
mov byte [esp + 0x4e], 1
je 0x1001b237
add esi, 0x26
lea eax, [esi + 0x2b68]
mov dword [esp + 0x34], esi
cmp eax, 0x2c26
jbe 0x1001ade6
cmp dword [esp + 0x18], 0x10
jb 0x1001ade0
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x50]
jmp case.0x1001ada4.1
mov esi, dword [esp + 0x10]
mov dword [esi + 0x40], edx
mov esi, dword [esi + 0x20]
test esi, esi
je case.0x1001ada4.1
mov dword [esi + 0x14], edx
jmp case.0x1001ada4.1
mov ecx, dword [esp + 0x10]
test dword [ecx + 0x10], 0x200
je case.0x1001ada4.1
mov edi, 0x513f
mov esi, ecx
mov eax, edi
sub eax, 0x513f
je 0x1001af33
sub eax, 0x1c
jne 0x1001af37
mov edx, dword [esp + 0x14]
shr edx, 8
mov byte [esp + 0x41], dl
mov eax, dword [esi + 0x18]
push 2
push eax
lea ecx, [esp + 0x48]
call fcn.100244a0
mov edx, dword [esp + 0x14]
mov dword [esi + 0x18], eax
jmp 0x1001af37
mov byte [esp + 0x40], dl
add edi, 0x1c
cmp edi, 0x515b
jbe 0x1001af02
mov eax, dword [esp + 0x24]
add eax, 0xf
add ebx, 0xf
mov dword [esp + 0x24], eax
mov dword [esp + 0x50], ebx
cmp eax, 0x2a26
jbe 0x1001ad94
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x2c]
jmp 0x1001af77
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x1001af77
mov dword [eax + 0x10], 0
add esi, 0x30
mov dword [esp + 0x2c], esi
cmp esi, 0x7c6b
jbe 0x1001ad5c
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
mov edi, 0x3472
mov dword [esp + 0x34], edi
mov eax, edi
sub eax, 0x3472
je 0x1001afbb
sub eax, 0xf
jne 0x1001b121
mov dword [ecx + 0x40], eax
mov dword [ecx], 6
jmp 0x1001b121
test dword [ecx + 0x10], 0x400
je 0x1001b121
mov edx, 0x555c
mov dword [esp + 0x50], edx
mov eax, edx
sub eax, 0x555c
je 0x1001b0f5
sub eax, 0x2b
jne 0x1001b10a
test esi, esi
je 0x1001b0e1
mov edi, 0x4ed2
mov dword [esp + 0x2c], edi
jmp 0x1001b004
mov esi, dword [esp + 0x28]
mov eax, edi
sub eax, 0x4ed2
je 0x1001b030
sub eax, 0x2f
je 0x1001b027
sub eax, 0x2f
jne 0x1001b0c6
add dword [esp + 0x20], esi
sub dword [ecx + 0x40], esi
jmp 0x1001b0c6
sub dword [esp + 0x1c], esi
jmp 0x1001b0c6
mov eax, dword [ecx + 0x20]
test eax, eax
je 0x1001b0a2
cmp dword [eax + 0x10], 0
je 0x1001b0a2
mov edi, dword [esp + 0x10]
mov esi, 0x25a4
mov eax, esi
sub eax, 0x25a4
je 0x1001b086
sub eax, 0x18
jne 0x1001b093
mov ecx, dword [edi + 0x20]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x28]
mov eax, dword [ecx + 0x18]
add ebx, edx
cmp ebx, eax
jbe 0x1001b06c
sub eax, edx
jmp 0x1001b070
mov eax, dword [esp + 0x28]
mov ecx, dword [ecx + 0x10]
push eax
mov eax, dword [esp + 0x24]
push eax
add ecx, edx
push ecx
call fcn.100314e0
add esp, 0xc
jmp 0x1001b093
mov eax, dword [edi + 0x20]
mov ecx, dword [eax + 0x14]
sub ecx, dword [edi + 0x40]
mov dword [esp + 0x44], ecx
add esi, 0x18
cmp esi, 0x25bc
jbe 0x1001b046
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x10]
test dword [eax + 0x10], 0x200
je 0x1001b0c6
mov ecx, dword [esp + 0x28]
mov esi, eax
mov edx, dword [esi + 0x18]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.100244a0
mov dword [esi + 0x18], eax
mov ecx, dword [esp + 0x10]
add edi, 0x2f
mov dword [esp + 0x2c], edi
cmp edi, 0x4f30
jbe 0x1001b000
mov edx, dword [esp + 0x50]
cmp dword [ecx + 0x40], 0
jne 0x1001b237
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x28]
jmp 0x1001b10a
mov esi, dword [ecx + 0x40]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
cmp esi, edi
jbe 0x1001b10a
mov esi, edi
mov dword [esp + 0x28], esi
add edx, 0x2b
mov dword [esp + 0x50], edx
cmp edx, 0x5587
jbe 0x1001afd1
mov edi, dword [esp + 0x34]
add edi, 0xf
mov dword [esp + 0x34], edi
cmp edi, 0x3481
jbe 0x1001af9b
mov edi, dword [esp + 0x10]
mov edx, 0x6a85
mov dword [esp + 0x2c], edx
xor esi, esi
mov eax, edx
sub eax, 0x6a85
je 0x1001b16d
sub eax, 0x46
je 0x1001b165
sub eax, 0x46
jne 0x1001b2c7
mov dword [edi], 7
jmp 0x1001b2c7
mov dword [edi + 0x40], esi
jmp 0x1001b2c7
test dword [edi + 0x10], 0x800
je 0x1001b2bd
mov dword [esp + 0x24], esi
mov edi, edi
cmp dword [esp + 0x24], 0xfc
ja case.0x1001b199.1
mov eax, dword [esp + 0x24]
movzx ecx, byte [eax + 0x1001e224]
jmp dword [ecx*4 + 0x1001e20c]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
jmp 0x1001b1b0
mov ecx, 0x5ecc
cmp ecx, ecx
jne 0x1001b1e6
mov edx, dword [esp + 0x20]
movzx eax, byte [ebx + edx]
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x20]
inc ebx
test eax, eax
je 0x1001b1e6
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x1001b1e6
mov esi, dword [edi + 0x40]
cmp esi, dword [eax + 0x20]
jae 0x1001b1e6
mov al, byte [esp + 0x44]
mov byte [edx + esi], al
inc dword [edi + 0x40]
add ecx, 0x35
cmp ecx, 0x5ecc
jbe 0x1001b1b7
cmp dword [esp + 0x44], 0
je 0x1001b1fe
cmp ebx, dword [esp + 0x1c]
jb 0x1001b1b0
test dword [edi + 0x10], 0x200
mov dword [esp + 0x28], ebx
je case.0x1001b199.1
mov esi, dword [edi + 0x18]
push ebx
push esi
mov ecx, dword [esp + 0x28]
call fcn.100244a0
mov dword [edi + 0x18], eax
jmp case.0x1001b199.1
mov ecx, dword [esp + 0x28]
sub dword [esp + 0x1c], ecx
add dword [esp + 0x20], ecx
jmp case.0x1001b199.1
cmp dword [esp + 0x1c], 0
jne case.0x1001b199.1
mov ebx, dword [ebp + 8]
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x48]
mov edi, 0x45fe
mov eax, 0x2bd1
lea esp, [esp]
cmp eax, 0x2c89
ja 0x1001dc29
je 0x1001dc17
mov ecx, eax
sub ecx, 0x2bd1
je 0x1001dc07
sub ecx, 0x5c
jne 0x1001dc3e
mov ecx, dword [ebx]
mov ebx, dword [esp + 0x20]
mov dword [ecx], ebx
jmp 0x1001dc3b
mov dword [esp + 0x28], 0
jmp case.0x1001b199.1
cmp dword [esp + 0x44], 0
jne 0x1001b237
mov eax, dword [esp + 0x24]
add eax, 0x3f
mov dword [esp + 0x24], eax
add eax, 0xd1e
cmp eax, 0xe1a
jbe 0x1001b180
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
xor esi, esi
jmp 0x1001b2c7
mov ecx, dword [edi + 0x20]
cmp ecx, esi
je 0x1001b2c7
mov dword [ecx + 0x1c], esi
add edx, 0x46
mov dword [esp + 0x2c], edx
cmp edx, 0x6b11
jbe 0x1001b143
mov edx, dword [esp + 0x10]
mov ecx, 0x54eb
mov dword [esp + 0x2c], ecx
xor edi, edi
mov eax, ecx
sub eax, 0x54eb
je 0x1001b306
sub eax, 0x1a
jne 0x1001b423
mov dword [edx], 8
jmp 0x1001b423
test dword [edx + 0x10], 0x1000
je 0x1001b419
mov dword [esp + 0x24], edi
jmp 0x1001b320
cmp dword [esp + 0x24], 0x7c
ja case.0x1001b336.1
mov esi, dword [esp + 0x24]
movzx eax, byte [esi + 0x1001e33c]
jmp dword [eax*4 + 0x1001e324]
cmp dword [esp + 0x1c], 0
je 0x1001b237
mov dword [esp + 0x28], 0
jmp case.0x1001b336.1
mov esi, dword [esp + 0x10]
test dword [esi + 0x10], 0x200
je 0x1001b377
mov ecx, dword [esp + 0x28]
mov edx, dword [esi + 0x18]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.100244a0
mov dword [esi + 0x18], eax
mov edx, dword [esp + 0x28]
sub dword [esp + 0x1c], edx
jmp case.0x1001b336.1
mov ecx, dword [esp + 0x28]
add dword [esp + 0x20], ecx
jmp case.0x1001b336.1
cmp dword [esp + 0x44], 0
jne 0x1001b237
jmp case.0x1001b336.1
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov eax, 0xa50
cmp eax, eax
jne 0x1001b3d6
mov esi, dword [esp + 0x20]
movzx edx, byte [ebx + esi]
mov dword [esp + 0x44], edx
mov edx, dword [edi + 0x20]
inc ebx
test edx, edx
je 0x1001b3d6
mov esi, dword [edx + 0x24]
test esi, esi
je 0x1001b3d6
mov ecx, dword [edi + 0x40]
cmp ecx, dword [edx + 0x28]
jae 0x1001b3d6
mov dl, byte [esp + 0x44]
mov byte [esi + ecx], dl
inc dword [edi + 0x40]
add eax, 0x3c
cmp eax, 0xa50
jbe 0x1001b3a7
cmp dword [esp + 0x44], 0
je 0x1001b3ee
cmp ebx, dword [esp + 0x1c]
jb 0x1001b3a0
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x24]
add eax, 0x1f
mov dword [esp + 0x24], eax
add eax, 0x225
cmp eax, 0x2a1
jbe 0x1001b320
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x2c]
xor edi, edi
jmp 0x1001b423
mov esi, dword [edx + 0x20]
cmp esi, edi
je 0x1001b423
mov dword [esi + 0x24], edi
add ecx, 0x1a
mov dword [esp + 0x2c], ecx
cmp ecx, 0x5505
jbe 0x1001b2e9
mov dword [esp + 0x24], 0x2122
mov eax, dword [esp + 0x24]
sub eax, 0x2122
je 0x1001b481
sub eax, 0x22
je 0x1001b45c
sub eax, 0x22
je case.0x1001bdcc.56
jmp 0x1001b5cd
push 0
push 0
xor ecx, ecx
call fcn.100244a0
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x18], eax
mov edx, dword [edx]
mov dword [edx + 0x30], eax
mov dword [ecx], 0xb
jmp 0x1001b5cd
mov esi, dword [esp + 0x10]
test dword [esi + 0x10], 0x200
je 0x1001b59b
mov edi, dword [esp + 0x18]
mov ebx, 0x5bb8
mov eax, ebx
sub eax, 0x5bb8
je 0x1001b4d1
sub eax, 0x2e
jne 0x1001b58c
mov eax, 0x62cb
xor ecx, ecx
cmp eax, eax
jne 0x1001b4be
mov dword [esp + 0x14], ecx
xor edi, edi
add eax, 0xf
cmp eax, 0x62cb
jbe 0x1001b4b6
mov dword [esp + 0x18], edi
jmp 0x1001b58c
cmp edi, 0x10
jae 0x1001b53d
jmp 0x1001b4e0
mov edx, 0x6ef4
mov eax, edx
sub eax, 0x6ef4
je 0x1001b51a
sub eax, 0x51
je 0x1001b501
sub eax, 0x51
jne 0x1001b52d
add edi, 8
mov dword [esp + 0x18], edi
jmp 0x1001b52d
mov eax, dword [esp + 0x20]
movzx eax, byte [eax]
dec dword [esp + 0x1c]
mov ecx, edi
shl eax, cl
add dword [esp + 0x14], eax
inc dword [esp + 0x20]
jmp 0x1001b52d
cmp dword [esp + 0x1c], 0
je 0x1001b237
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
add edx, 0x51
cmp edx, 0x6f96
jbe 0x1001b4e5
cmp edi, 0x10
jb 0x1001b4e0
movzx ecx, word [esi + 0x18]
cmp dword [esp + 0x14], ecx
je 0x1001b58c
mov ecx, 0x6a58
mov eax, ecx
sub eax, 0x6a58
je 0x1001b575
sub eax, 0x3b
je 0x1001b56d
sub eax, 0x3b
je case.0x1001bdcc.56
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
jmp 0x1001b581
mov dword [esi], 0x1d
jmp 0x1001b581
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [eax + 0x18], str.header_crc_mismatch
add ecx, 0x3b
cmp ecx, 0x6ace
jbe 0x1001b54c
add ebx, 0x2e
cmp ebx, 0x5be6
jbe 0x1001b49b
cmp dword [esi + 0x20], 0
je 0x1001b5cd
mov eax, 0x1a2c
mov ecx, 1
cmp eax, eax
jne 0x1001b5c3
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x20]
sar edx, 9
and edx, ecx
mov dword [edi + 0x2c], edx
mov edx, dword [esi + 0x20]
mov dword [edx + 0x30], ecx
add eax, 0x2d
cmp eax, 0x1a2c
jbe 0x1001b5ad
mov eax, dword [esp + 0x24]
add eax, 0x22
mov dword [esp + 0x24], eax
cmp eax, 0x2166
jbe 0x1001b43e
mov esi, 0x5e4e
jmp 0x1001b5f0
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, esi
sub eax, 0x5e4e
je 0x1001b685
sub eax, 0x52
je 0x1001b622
sub eax, 0x52
jne 0x1001b6d9
mov dword [edx], 0xa
jmp 0x1001b6d9
mov eax, dword [esp + 0x14]
mov ecx, eax
and ecx, 0xff00
mov edi, eax
shl edi, 0x10
add ecx, edi
mov edi, eax
shl ecx, 8
shr edi, 8
and edi, 0xff00
add ecx, edi
shr eax, 0x18
add eax, ecx
mov dword [edx + 0x18], eax
mov edx, dword [ebp + 8]
mov edi, dword [edx]
mov dword [edi + 0x30], eax
mov ecx, 0x16a7
xor edx, edx
lea esp, [esp]
mov eax, ecx
sub eax, 0x16a7
je 0x1001b674
sub eax, 0x16
jne 0x1001b678
mov dword [esp + 0x18], edx
jmp 0x1001b678
mov dword [esp + 0x14], edx
add ecx, 0x16
cmp ecx, 0x16bd
jbe 0x1001b660
jmp 0x1001b6d9
cmp ecx, 0x20
jae 0x1001b6d9
lea ebx, [ebx]
mov edx, 0x877
mov eax, edx
sub eax, 0x877
je 0x1001b6ba
sub eax, 0xc
jne 0x1001b6c9
movzx eax, byte [edi]
shl eax, cl
inc edi
mov dword [esp + 0x20], edi
add dword [esp + 0x14], eax
add ecx, 8
mov dword [esp + 0x18], ecx
jmp 0x1001b6c9
cmp dword [esp + 0x1c], 0
je 0x1001b237
dec dword [esp + 0x1c]
add edx, 0xc
cmp edx, 0x883
jbe 0x1001b695
cmp ecx, 0x20
jb 0x1001b690
add esi, 0x52
cmp esi, 0x5ef2
jbe 0x1001b5f0
mov esi, 0x5896
mov eax, esi
sub eax, 0x5896
je 0x1001b70e
sub eax, 0x30
jne 0x1001b7d4
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0xb
jmp 0x1001b7d4
mov ebx, dword [esp + 0x10]
cmp dword [ebx + 0xc], 0
jne 0x1001b7be
mov edx, 0x647b
mov eax, edx
sub eax, 0x647b
je 0x1001b744
sub eax, 0x33
je 0x1001b73a
sub eax, 0x33
je 0x1001a174
jmp 0x1001b7af
mov dword [esp + 0x5c], 2
jmp 0x1001b7af
mov edi, dword [esp + 0x14]
mov ecx, 0x219c
lea ecx, [ecx]
mov eax, ecx
sub eax, 0x219c
je 0x1001b788
sub eax, 0x42
je 0x1001b76f
sub eax, 0x42
jne 0x1001b7a4
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x38], edi
mov dword [ebx + 0x3c], eax
jmp 0x1001b7a4
mov ebx, dword [ebp + 8]
mov ebx, dword [ebx]
mov eax, dword [esp + 0x20]
mov dword [ebx], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ebx, dword [esp + 0x1c]
mov dword [eax + 4], ebx
jmp 0x1001b7a0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ebx, dword [esp + 0x48]
mov dword [eax + 0xc], ebx
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ebx, dword [esp + 0x38]
mov dword [eax + 0x10], ebx
mov ebx, dword [esp + 0x10]
add ecx, 0x42
cmp ecx, 0x2220
jbe 0x1001b750
add edx, 0x33
cmp edx, 0x64e1
jbe 0x1001b721
push 0
push 0
xor ecx, ecx
call fcn.100194b0
mov ecx, dword [ebp + 8]
mov dword [ebx + 0x18], eax
mov edx, dword [ecx]
mov dword [edx + 0x30], eax
add esi, 0x30
cmp esi, 0x58c6
jbe 0x1001b6ed
mov edi, dword [ebp + 0xc]
mov edi, dword [edi]
cmp edi, 5
je 0x1001b237
cmp edi, 6
je 0x1001b237
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov eax, 0x7f51
mov dword [esp + 0x24], eax
jmp 0x1001b810
cmp eax, 0x8041
ja 0x1001ba8f
je 0x1001b8ae
mov eax, dword [esp + 0x24]
sub eax, 0x7f51
je 0x1001b9b6
sub eax, 0x50
je 0x1001b98f
sub eax, 0x50
jne case.default.0x1001b850
mov eax, ebx
and eax, 3
cmp eax, 3
ja case.default.0x1001b850
jmp dword [eax*4 + 0x1001e3bc]
mov eax, 0xbab
cmp eax, eax
je 0x1001b8a4
add eax, 0x32
cmp eax, 0xbab
jbe 0x1001b85e
mov esi, 0x4d19
mov eax, esi
sub eax, 0x4d19
je 0x1001b8bb
sub eax, 0xe
jne 0x1001b8ce
mov esi, dword [ebp + 0xc]
cmp dword [esi], 6
jne 0x1001b8ae
mov edx, 0x3660
lea ebx, [ebx]
mov eax, edx
sub eax, 0x3660
je 0x1001b8ee
sub eax, 0x5d
je 0x1001b237
jmp 0x1001b91c
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0xd
mov dword [esp + 0x24], 0x8041
jmp case.default.0x1001b850
mov eax, dword [esp + 0x10]
call fcn.1001a050
mov edx, dword [esp + 0x10]
mov dword [edx], 0x13
add esi, 0xe
cmp esi, 0x4d27
jbe 0x1001b86f
mov ecx, 0x382f
mov eax, ecx
sub eax, 0x382f
je 0x1001b938
sub eax, 0x40
je 0x1001b8ae
jmp 0x1001b942
mov ecx, 0x3d07
mov eax, ecx
sub eax, 0x3d07
je 0x1001b906
sub eax, 7
jne 0x1001b909
sub edi, 2
jmp 0x1001b909
shr ebx, 2
add ecx, 7
cmp ecx, 0x3d0e
jbe 0x1001b8f3
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
add edx, 0x5d
cmp edx, 0x36bd
jbe 0x1001b890
mov dword [esp + 0x24], 0x8041
jmp case.default.0x1001b850
mov edx, dword [esp + 0x10]
mov dword [edx], 0x10
add ecx, 0x40
cmp ecx, 0x386f
jbe 0x1001b8de
mov edx, dword [ebp + 8]
mov ecx, 0x6fbb
mov esi, str.invalid_block_type
lea ebx, [ebx]
mov eax, ecx
sub eax, 0x6fbb
je 0x1001b97a
sub eax, 0x2f
jne 0x1001b97f
mov eax, dword [esp + 0x10]
mov dword [eax], 0x1d
jmp 0x1001b97f
mov eax, dword [edx]
mov dword [eax + 0x18], esi
add ecx, 0x2f
cmp ecx, 0x6fea
jbe 0x1001b960
jmp case.default.0x1001b850
mov edx, dword [esp + 0x10]
mov ecx, ebx
and ecx, 1
mov eax, 0x18bb
mov dword [edx + 4], ecx
cmp eax, eax
jne 0x1001b9a7
shr ebx, 1
dec edi
add eax, 0x12
cmp eax, 0x18bb
jbe 0x1001b9a2
jmp 0x1001baba
mov esi, dword [esp + 0x10]
cmp dword [esi + 4], 0
je 0x1001ba23
mov esi, 0x3acd
mov eax, esi
sub eax, 0x3acd
je 0x1001b9e2
sub eax, 4
jne 0x1001ba18
mov edx, dword [esp + 0x10]
mov dword [edx], 0x1a
jmp case.0x1001bdcc.56
mov edx, 0x7212
mov eax, edx
sub eax, 0x7212
je 0x1001b9fe
sub eax, 0x3d
jne 0x1001ba05
mov ecx, edi
and ecx, 7
sub edi, ecx
jmp 0x1001ba05
mov ecx, edi
and ecx, 7
shr ebx, cl
add edx, 0x3d
cmp edx, 0x724f
jbe 0x1001b9e7
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
add esi, 4
cmp esi, 0x3ad1
jbe 0x1001b9c5
cmp edi, 3
jae case.default.0x1001b850
lea esp, [esp]
xor esi, esi
cmp esi, 0x5a
ja case.0x1001ba3e.1
movzx edx, byte [esi + 0x1001e3e0]
jmp dword [edx*4 + 0x1001e3cc]
mov edx, dword [esp + 0x20]
movzx eax, byte [edx]
mov ecx, edi
shl eax, cl
add ebx, eax
inc edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], edx
jmp case.0x1001ba3e.1
cmp dword [esp + 0x1c], 0
je 0x1001b237
jmp case.0x1001ba3e.1
dec dword [esp + 0x1c]
jmp case.0x1001ba3e.1
add edi, 8
mov dword [esp + 0x18], edi
add esi, 0x1e
lea ecx, [esi + 0x608b]
cmp ecx, 0x60e5
jbe 0x1001ba32
cmp edi, 3
jb 0x1001ba30
jmp case.default.0x1001b850
sub eax, 0x8091
je 0x1001baa1
sub eax, 0x50
je case.0x1001bdcc.56
jmp case.default.0x1001b850
mov eax, 0x15f1
cmp eax, eax
jne 0x1001bab0
shr ebx, 2
sub edi, 2
add eax, 0x63
cmp eax, 0x15f1
jbe 0x1001baa8
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x24]
add eax, 0x50
mov dword [esp + 0x24], eax
cmp eax, 0x80e1
jbe 0x1001b810
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x24], 0x7137
jmp 0x1001baf0
cmp dword [esp + 0x24], 0x7203
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov edx, str.invalid_stored_block_lengths
ja 0x1001bcda
je 0x1001bc94
mov eax, dword [esp + 0x24]
add eax, 0xffff8ec9
cmp eax, 0x99
ja case.0x1001bcf1.29239
movzx eax, byte [eax + 0x1001e450]
jmp dword [eax*4 + 0x1001e43c]
movzx edx, word [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x40], edx
mov ecx, 0xa
mov esi, str.MyFileMappingObject
lea edi, [esp + 0xe0]
lea eax, [esp + 0x108]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [esp + 0x10c]
push ecx
lea edx, [esp + 0xe8]
push edx
call fcn.100272a0
add esp, 0xc
jmp case.0x1001bcf1.29239
mov eax, ecx
not eax
movzx ecx, cx
shr eax, 0x10
cmp ecx, eax
je 0x1001bbc6
mov edi, dword [esp + 0x10]
mov ecx, 0x58b9
mov eax, ecx
sub eax, 0x58b9
je 0x1001bbb3
sub eax, 0x50
je 0x1001bbab
sub eax, 0x50
je case.0x1001bdcc.56
jmp 0x1001bbbb
mov dword [edi], 0x1d
jmp 0x1001bbbb
mov esi, dword [ebp + 8]
mov esi, dword [esi]
mov dword [esi + 0x18], edx
add ecx, 0x50
cmp ecx, 0x5959
jbe 0x1001bb92
xor ecx, ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], ecx
jmp case.0x1001bcf1.29239
cmp edi, 0x20
jae case.0x1001bcf1.29239
lea esp, [esp]
mov edx, 0x313b
mov eax, edx
sub eax, 0x313b
je 0x1001bc2c
sub eax, 0x45
jne 0x1001bc3b
movzx eax, byte [esi]
mov ecx, edi
shl eax, cl
inc esi
mov dword [esp + 0x20], esi
add dword [esp + 0x14], eax
add edi, 8
mov dword [esp + 0x18], edi
jmp 0x1001bc3b
cmp dword [esp + 0x1c], 0
je 0x1001b237
dec dword [esp + 0x1c]
add edx, 0x45
cmp edx, 0x3180
jbe 0x1001bc05
cmp edi, 0x20
jb 0x1001bc00
jmp case.0x1001bcf1.29239
mov esi, dword [esp + 0x14]
mov byte [esp + 0x57], 1
mov edx, 0xafa
mov eax, edx
sub eax, 0xafa
je 0x1001bc75
sub eax, 0x34
jne 0x1001bc7c
mov ecx, edi
and ecx, 7
sub edi, ecx
jmp 0x1001bc7c
mov ecx, edi
and ecx, 7
shr esi, cl
add edx, 0x34
cmp edx, 0xb2e
jbe 0x1001bc5e
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
jmp case.0x1001bcf1.29239
mov eax, 0x66f4
xor ecx, ecx
cmp eax, eax
jne 0x1001bca7
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
add eax, 0x36
cmp eax, 0x66f4
jbe 0x1001bc9d
lea edx, [esp + 0x108]
push edx
push 0x100
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov ebx, eax
mov dword [esp + 0xb0], ebx
jmp case.0x1001bcf1.29239
mov eax, dword [esp + 0x24]
add eax, 0xffff8dca
cmp eax, 0x99
ja case.0x1001bcf1.29239
movzx eax, byte [eax + 0x1001e500]
jmp dword [eax*4 + 0x1001e4ec]
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 6
je 0x1001b237
jmp case.0x1001bcf1.29239
cmp byte [esp + 0x57], 0
je case.0x1001bcf1.29239
mov edi, 0x7b59
mov eax, edi
sub eax, 0x7b59
je 0x1001bd29
sub eax, 0x37
jne 0x1001bd38
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1001bd38
lea edx, [esp + 0xc8]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_GetCommTimeouts]
add edi, 0x37
cmp edi, 0x7b90
jbe 0x1001bd12
jmp case.0x1001bcf1.29239
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0xe
jmp case.0x1001bcf1.29239
test ebx, ebx
jne case.0x1001bcf1.29239
mov byte [esp + 0x57], bl
mov eax, dword [esp + 0x24]
add eax, 0x33
mov dword [esp + 0x24], eax
cmp eax, 0x72cf
jbe 0x1001baf0
mov esi, dword [esp + 0x10]
mov dword [esi], 0xf
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x1c]
mov esi, 0x3bb5
mov eax, esi
sub eax, 0x3bb5
je 0x1001bda7
sub eax, 0x16
jne 0x1001be45
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0xb
jmp case.0x1001bdcc.56
mov edi, dword [esp + 0x10]
mov ebx, dword [edi + 0x40]
mov dword [esp + 0x28], ebx
test ebx, ebx
je 0x1001be45
xor edi, edi
lea esp, [esp]
cmp edi, 0x38
ja case.0x1001bdcc.1
movzx eax, byte [edi + 0x1001e5c0]
jmp dword [eax*4 + 0x1001e59c]
sub edx, ebx
mov dword [esp + 0x38], edx
jmp case.0x1001bdcc.1
sub ecx, ebx
add dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ecx
jmp case.0x1001bdcc.1
mov eax, dword [esp + 0x10]
sub dword [eax + 0x40], ebx
jmp case.0x1001bdcc.1
test ebx, ebx
je 0x1001b237
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x48]
push ebx
push ecx
push edx
call fcn.100314e0
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x28]
add esp, 0xc
jmp case.0x1001bdcc.1
cmp ebx, ecx
jbe case.0x1001bdcc.1
mov ebx, ecx
mov dword [esp + 0x28], ebx
jmp case.0x1001bdcc.1
cmp ebx, edx
jbe case.0x1001bdcc.1
mov ebx, edx
mov dword [esp + 0x28], ebx
jmp case.0x1001bdcc.1
add dword [esp + 0x48], ebx
add edi, 8
lea eax, [edi + 0x32a2]
cmp eax, 0x32da
jbe 0x1001bdc0
add esi, 0x16
cmp esi, 0x3bcb
jbe 0x1001bd86
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x2c], 0x41b3
mov dword [esp + 0x24], 0
cmp dword [esp + 0x24], 0x64
ja case.0x1001be8a.1
mov eax, dword [esp + 0x24]
movzx ecx, byte [eax + 0x1001e618]
jmp dword [ecx*4 + 0x1001e5fc]
cmp dword [edx + 0x60], 0x11e
ja 0x1001bea0
cmp dword [edx + 0x64], 0x1e
jbe 0x1001bed5
mov ecx, 0x5a22
mov eax, ecx
sub eax, 0x5a22
je 0x1001bebe
sub eax, 0x1b
jne 0x1001beca
mov dword [edx], 0x1d
jmp case.0x1001bdcc.56
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [eax + 0x18], str.too_many_length_or_distance_symbols
add ecx, 0x1b
cmp ecx, 0x5a3d
jbe 0x1001bea5
mov dword [edx + 0x68], 0
jmp case.0x1001be8a.1
mov dword [edx], 0x11
jmp case.0x1001be8a.1
cmp edi, 0xe
jae 0x1001bf45
mov edx, 0x56d9
mov eax, edx
sub eax, 0x56d9
je 0x1001bf2a
sub eax, 0x64
je 0x1001bf12
sub eax, 0x64
jne 0x1001bf35
add edi, 8
mov dword [esp + 0x18], edi
jmp 0x1001bf35
movzx eax, byte [ebx]
dec dword [esp + 0x1c]
mov ecx, edi
shl eax, cl
add esi, eax
inc ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], ebx
jmp 0x1001bf35
cmp dword [esp + 0x1c], 0
je 0x1001b237
add edx, 0x64
cmp edx, 0x57a1
jbe 0x1001bef6
cmp edi, 0xe
jb 0x1001bef1
mov edx, dword [esp + 0x10]
mov ecx, esi
and ecx, 0x1f
add ecx, 0x101
mov dword [edx + 0x60], ecx
jmp case.0x1001be8a.1
mov eax, esi
and eax, 0x1f
inc eax
mov dword [edx + 0x64], eax
mov ecx, 0x5434
lea ebx, [ebx]
mov eax, ecx
sub eax, 0x5434
je 0x1001bf83
sub eax, 0x63
jne 0x1001bf86
sub edi, 5
jmp 0x1001bf86
shr esi, 5
add ecx, 0x63
cmp ecx, 0x5497
jbe 0x1001bf70
jmp 0x1001bfe1
mov eax, 0x273
cmp eax, eax
jne 0x1001bfa2
shr esi, 5
sub edi, 5
add eax, 0x3c
cmp eax, 0x273
jbe 0x1001bf9a
jmp 0x1001bfe1
mov ecx, esi
and ecx, 0xf
add ecx, 4
mov dword [edx + 0x5c], ecx
mov ecx, 0x5805
mov esi, esi
mov eax, ecx
sub eax, 0x5805
je 0x1001bfd3
sub eax, 0x33
jne 0x1001bfd6
sub edi, 4
jmp 0x1001bfd6
shr esi, 4
add ecx, 0x33
cmp ecx, 0x5838
jbe 0x1001bfc0
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x2c]
add dword [esp + 0x24], 0x14
add eax, 0x14
mov dword [esp + 0x2c], eax
cmp eax, 0x4217
jbe 0x1001be74
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov eax, 0x281a
mov dword [esp + 0x50], eax
cmp eax, 0x28c2
ja 0x1001c181
je 0x1001c16f
sub eax, 0x281a
je 0x1001c048
sub eax, 0x54
jne 0x1001c201
lea edx, [ebx + 0x530]
mov dword [ebx + 0x6c], edx
jmp 0x1001c201
mov eax, dword [ebx + 0x68]
cmp eax, dword [ebx + 0x5c]
jae 0x1001c13b
mov edx, 0x1730
mov dword [esp + 0x2c], edx
mov eax, edx
sub eax, 0x1730
je 0x1001c0a0
sub eax, 0x33
jne 0x1001c11c
mov ecx, 0x2682
mov eax, ecx
sub eax, 0x2682
je 0x1001c087
sub eax, 0x3d
jne 0x1001c08c
sub esi, 3
jmp 0x1001c08c
shr dword [esp + 0x14], 3
add ecx, 0x3d
cmp ecx, 0x26bf
jbe 0x1001c074
mov dword [esp + 0x18], esi
jmp 0x1001c11c
cmp esi, 3
jae 0x1001c102
xor eax, eax
cmp eax, 0xb4
ja case.0x1001c0b5.1
movzx ecx, byte [eax + 0x1001e694]
jmp dword [ecx*4 + 0x1001e680]
dec dword [esp + 0x1c]
jmp case.0x1001c0b5.1
add esi, 8
mov dword [esp + 0x18], esi
jmp case.0x1001c0b5.1
movzx edx, byte [edi]
mov ecx, esi
shl edx, cl
add dword [esp + 0x14], edx
inc edi
mov dword [esp + 0x20], edi
jmp case.0x1001c0b5.1
cmp dword [esp + 0x1c], 0
je 0x1001b237
add eax, 0x3c
lea edx, [eax + 0x5f3b]
cmp edx, 0x5fef
jbe 0x1001c0a7
cmp esi, 3
jb 0x1001c0a5
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebx + 0x68]
movzx ecx, word [ecx*2 + 0x10b1bf38]
mov eax, dword [esp + 0x14]
and eax, 7
mov word [ebx + ecx*2 + 0x70], ax
inc dword [ebx + 0x68]
add edx, 0x33
mov dword [esp + 0x2c], edx
cmp edx, 0x1763
jbe 0x1001c05d
mov eax, dword [ebx + 0x68]
cmp eax, dword [ebx + 0x5c]
jb 0x1001c054
mov eax, 0x13
cmp dword [ebx + 0x68], eax
jae 0x1001c201
lea esp, [esp]
mov ecx, dword [ebx + 0x68]
movzx edx, word [ecx*2 + 0x10b1bf38]
xor ecx, ecx
mov word [ebx + edx*2 + 0x70], cx
inc dword [ebx + 0x68]
cmp dword [ebx + 0x68], eax
jb 0x1001c150
jmp 0x1001c201
mov edx, dword [ebx + 0x6c]
mov dword [ebx + 0x4c], edx
mov dword [ebx + 0x54], 7
jmp 0x1001c201
sub eax, 0x2916
je 0x1001c198
sub eax, 0x54
jne 0x1001c201
mov dword [ebx + 0x68], eax
mov dword [ebx], 0x12
jmp 0x1001c201
lea eax, [ebx + 0x2f0]
lea ecx, [ebx + 0x54]
lea edx, [ebx + 0x6c]
push 0x13
add ebx, 0x70
push ebx
push 0
call fcn.1001fb00
add esp, 0xc
mov dword [esp + 0x58], eax
test eax, eax
je 0x1001c1fd
mov edx, dword [ebp + 8]
mov ecx, 0x58e
mov ebx, str.invalid_code_lengths_set
lea esp, [esp]
mov eax, ecx
sub eax, 0x58e
je 0x1001c1ed
sub eax, 0x1d
jne 0x1001c1f2
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0x1d
jmp case.0x1001bdcc.56
mov eax, dword [edx]
mov dword [eax + 0x18], ebx
add ecx, 0x1d
cmp ecx, 0x5ab
jbe 0x1001c1d0
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x50]
add eax, 0x54
mov dword [esp + 0x50], eax
cmp eax, 0x296a
jbe 0x1001c019
mov esi, 0x78e4
lea esp, [esp]
mov ebx, dword [esp + 0x18]
mov edx, dword [ebp + 8]
mov edi, dword [esp + 0x10]
lea eax, [esi - 0x78e4]
cmp eax, 0x12
ja case.0x1001c241.30949
movzx eax, byte [eax + 0x1001e778]
jmp dword [eax*4 + 0x1001e74c]
mov ecx, dword [edi + 0x6c]
mov dword [edi + 0x4c], ecx
mov dword [edi + 0x54], 9
jmp case.0x1001c241.30949
cmp dword [esp + 0x58], 0
je 0x1001c29b
mov ecx, 0xe37
mov eax, ecx
sub eax, 0xe37
je 0x1001c287
sub eax, 0x12
je 0x1001c27f
sub eax, 0x12
je case.0x1001bdcc.56
jmp 0x1001c290
mov dword [edi], 0x1d
jmp 0x1001c290
mov eax, dword [edx]
mov dword [eax + 0x18], str.invalid_distances_set
add ecx, 0x12
cmp ecx, 0xe5b
jbe 0x1001c266
mov dword [edi], 0x13
jmp case.0x1001c241.30949
mov dword [edi + 0x58], 6
jmp case.0x1001c241.30949
cmp dword [esp + 0x58], 0
je 0x1001c2ec
mov ecx, 0x5ec
mov eax, ecx
sub eax, 0x5ec
je 0x1001c2d2
sub eax, 0x13
je case.0x1001bdcc.56
jmp 0x1001c2e1
mov eax, dword [edx]
mov dword [eax + 0x18], str.invalid_literal_lengths_set
mov dword [edi], 0x1d
add ecx, 0x13
cmp ecx, 0x5ff
jbe 0x1001c2be
mov ecx, dword [edi + 0x6c]
mov dword [edi + 0x50], ecx
jmp case.0x1001c241.30949
mov edx, dword [ebp + 0xc]
cmp dword [edx], 6
je 0x1001b237
jmp case.0x1001c241.30949
mov edx, dword [edi + 0x64]
push edx
mov ebx, dword [edi + 0x60]
lea eax, [edi + 0x2f0]
lea ecx, [edi + 0x58]
lea edx, [edi + 0x6c]
lea edi, [edi + ebx*2 + 0x70]
push edi
push 2
call fcn.1001fb00
add esp, 0xc
mov dword [esp + 0x58], eax
jmp case.0x1001c241.30949
mov ebx, dword [edi + 0x60]
lea eax, [edi + 0x2f0]
lea ecx, [edi + 0x54]
lea edx, [edi + 0x6c]
push ebx
add edi, 0x70
push edi
push 1
call fcn.1001fb00
add esp, 0xc
mov dword [esp + 0x58], eax
jmp case.0x1001c241.30949
cmp dword [edi], 0x1d
je case.0x1001bdcc.56
jmp case.0x1001c241.30949
cmp word [edi + 0x270], 0
jne 0x1001c3a5
mov ecx, 0x2a55
mov eax, ecx
sub eax, 0x2a55
je 0x1001c38b
sub eax, 0x10
je case.0x1001bdcc.56
jmp 0x1001c39a
mov eax, dword [edx]
mov dword [eax + 0x18], str.invalid_code____missing_end_of_block
mov dword [edi], 0x1d
add ecx, 0x10
cmp ecx, 0x2a65
jbe 0x1001c377
lea ecx, [edi + 0x530]
mov dword [edi + 0x6c], ecx
jmp case.0x1001c241.30949
mov edx, dword [edi + 0x64]
add edx, dword [edi + 0x60]
cmp dword [edi + 0x68], edx
jae 0x1001c9a9
mov esi, 0x10b0
mov dword [esp + 0x50], esi
mov eax, esi
sub eax, 0x10b0
je 0x1001c8d1
sub eax, 0x5c
je 0x1001c97e
sub eax, 0x5c
jne 0x1001c983
cmp word [esp + 0x32], 0x10
jae 0x1001c452
mov edi, 0x7fdc
cmp edi, edi
jne 0x1001c43e
mov edx, 0x2949
mov eax, edx
sub eax, 0x2949
je 0x1001c417
sub eax, 0x4e
jne 0x1001c41f
movzx eax, byte [esp + 0x31]
sub ebx, eax
jmp 0x1001c41f
mov cl, byte [esp + 0x31]
shr dword [esp + 0x14], cl
add edx, 0x4e
cmp edx, 0x2997
jbe 0x1001c400
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x68]
mov dx, word [esp + 0x32]
mov word [eax + ecx*2 + 0x70], dx
inc dword [eax + 0x68]
add edi, 0x1d
cmp edi, 0x7fdc
jbe 0x1001c3f9
mov dword [esp + 0x18], ebx
jmp 0x1001c983
mov dword [esp + 0x34], 0x5aaa
lea ebx, [ebx]
mov eax, dword [esp + 0x34]
sub eax, 0x5aaa
je 0x1001c50a
sub eax, 0x4d
je 0x1001c4ac
sub eax, 0x4d
jne 0x1001c8b2
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x1001c4a2
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x10]
mov edi, dword [esi + 0x68]
mov word [esi + edi*2 + 0x70], dx
inc dword [esi + 0x68]
dec ecx
jne 0x1001c494
dec ecx
mov dword [esp + 0x28], ecx
jmp 0x1001c8b2
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x68]
mov edx, dword [eax + 0x64]
add ecx, dword [esp + 0x28]
add edx, dword [eax + 0x60]
cmp ecx, edx
jbe 0x1001c8b2
mov edi, dword [ebp + 8]
mov ecx, 0x485a
mov edx, eax
mov esi, str.invalid_bit_length_repeat
mov eax, ecx
sub eax, 0x485a
je 0x1001c4f5
sub eax, 8
je 0x1001c4ed
sub eax, 8
je 0x1001c9a9
jmp 0x1001c4fa
mov dword [edx], 0x1d
jmp 0x1001c4fa
mov eax, dword [edi]
mov dword [eax + 0x18], esi
add ecx, 8
cmp ecx, 0x486a
jbe 0x1001c4d4
jmp 0x1001c8b2
mov ax, word [esp + 0x32]
cmp ax, 0x10
jne 0x1001c68f
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x10]
mov edx, 0x495e
mov dword [esp + 0x2c], edx
cmp edx, 0x4a0e
ja 0x1001c63b
je 0x1001c62b
mov eax, edx
sub eax, 0x495e
je 0x1001c596
sub eax, 0x58
jne 0x1001c677
cmp dword [esi + 0x68], eax
jne 0x1001c585
mov ecx, 0x205a
mov eax, ecx
sub eax, 0x205a
je 0x1001c56b
sub eax, 0xe
je 0x1001c9a9
jmp 0x1001c57a
mov eax, dword [edi]
mov dword [eax + 0x18], str.invalid_bit_length_repeat
mov dword [esi], 0x1d
add ecx, 0xe
cmp ecx, 0x2068
jbe 0x1001c557
mov ecx, dword [esi + 0x68]
movzx eax, word [esi + ecx*2 + 0x6e]
mov dword [esp + 0x44], eax
jmp 0x1001c677
movzx edi, byte [esp + 0x31]
lea edx, [edi + 2]
cmp ebx, edx
jae 0x1001c5f6
mov esi, 0x5bf8
mov eax, esi
sub eax, 0x5bf8
je 0x1001c5d8
sub eax, 0x42
je 0x1001c5c3
sub eax, 0x42
jne 0x1001c5e7
add ebx, 8
mov dword [esp + 0x18], ebx
jmp 0x1001c5e7
mov ecx, dword [esp + 0x20]
movzx eax, byte [ecx]
mov ecx, ebx
shl eax, cl
add dword [esp + 0x14], eax
inc dword [esp + 0x20]
jmp 0x1001c5e7
cmp dword [esp + 0x1c], 0
je 0x1001b237
dec dword [esp + 0x1c]
add esi, 0x42
cmp esi, 0x5c7c
jbe 0x1001c5a7
cmp ebx, edx
jb 0x1001c5a2
mov esi, 0x38bb
mov eax, esi
sub eax, 0x38bb
je 0x1001c60d
sub eax, 0x35
jne 0x1001c613
sub ebx, edi
jmp 0x1001c613
mov ecx, edi
shr dword [esp + 0x14], cl
add esi, 0x35
cmp esi, 0x38f0
jbe 0x1001c5fb
mov edx, dword [esp + 0x2c]
mov edi, dword [ebp + 8]
mov esi, dword [esp + 0x10]
jmp 0x1001c673
mov eax, dword [esp + 0x14]
and eax, 3
add eax, 3
mov dword [esp + 0x28], eax
jmp 0x1001c677
cmp edx, 0x4a66
jne 0x1001c677
mov ecx, 0x179e
jmp 0x1001c650
mov eax, ecx
sub eax, 0x179e
je 0x1001c663
sub eax, 0x1a
jne 0x1001c668
sub ebx, 2
jmp 0x1001c668
shr dword [esp + 0x14], 2
add ecx, 0x1a
cmp ecx, 0x17b8
jbe 0x1001c650
mov dword [esp + 0x18], ebx
add edx, 0x58
mov dword [esp + 0x2c], edx
cmp edx, 0x4a66
jbe 0x1001c529
jmp 0x1001c8b2
cmp ax, 0x11
jne 0x1001c7c5
mov dword [esp + 0x2c], 0x2422
xor edi, edi
cmp edi, 0xc4
ja case.0x1001c6b6.1
movzx ecx, byte [edi + 0x1001e7a4]
jmp dword [ecx*4 + 0x1001e78c]
movzx esi, byte [esp + 0x31]
add esi, 3
cmp ebx, esi
jae case.0x1001c6b6.1
mov edx, 0x75a6
mov eax, edx
sub eax, 0x75a6
je 0x1001c703
sub eax, 0x29
je 0x1001c6ee
sub eax, 0x29
jne 0x1001c712
add ebx, 8
mov dword [esp + 0x18], ebx
jmp 0x1001c712
mov eax, dword [esp + 0x20]
movzx eax, byte [eax]
mov ecx, ebx
shl eax, cl
add dword [esp + 0x14], eax
inc dword [esp + 0x20]
jmp 0x1001c712
cmp dword [esp + 0x1c], 0
je 0x1001b237
dec dword [esp + 0x1c]
add edx, 0x29
cmp edx, 0x75f8
jbe 0x1001c6d2
cmp ebx, esi
jb 0x1001c6cd
jmp case.0x1001c6b6.1
mov edx, 0x3a84
mov eax, edx
sub eax, 0x3a84
je 0x1001c742
sub eax, 0x53
jne 0x1001c74a
movzx ecx, byte [esp + 0x31]
sub ebx, ecx
jmp 0x1001c74a
mov cl, byte [esp + 0x31]
shr dword [esp + 0x14], cl
add edx, 0x53
cmp edx, 0x3ad7
jbe 0x1001c72b
mov dword [esp + 0x18], ebx
jmp case.0x1001c6b6.1
mov eax, dword [esp + 0x14]
and eax, 7
add eax, 3
mov dword [esp + 0x28], eax
jmp case.0x1001c6b6.1
mov edx, dword [esp + 0x14]
mov ecx, 0x6ba3
mov eax, ecx
sub eax, 0x6ba3
je 0x1001c787
sub eax, 0x4b
jne 0x1001c78a
sub ebx, 3
jmp 0x1001c78a
shr edx, 3
add ecx, 0x4b
cmp ecx, 0x6bee
jbe 0x1001c774
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
jmp case.0x1001c6b6.1
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x2c]
add eax, 0x31
add edi, 0x31
mov dword [esp + 0x2c], eax
cmp eax, 0x24e6
jbe 0x1001c6a3
jmp 0x1001c8b2
mov dword [esp + 0x24], 0x726a
mov eax, dword [esp + 0x24]
sub eax, 0x726a
je 0x1001c822
sub eax, 0xe
je 0x1001c818
sub eax, 0xe
jne 0x1001c89c
mov ecx, dword [esp + 0x14]
mov edi, ecx
and edi, 0x7f
add edi, 0xb
mov dword [esp + 0x28], edi
mov eax, 0x43bc
cmp eax, eax
jne 0x1001c805
shr ecx, 7
sub ebx, 7
add eax, 0x41
cmp eax, 0x43bc
jbe 0x1001c7fd
mov dword [esp + 0x14], ecx
jmp 0x1001c898
mov dword [esp + 0x44], 0
jmp 0x1001c89c
movzx edi, byte [esp + 0x31]
lea esi, [edi + 7]
cmp ebx, esi
jae 0x1001c87d
mov esi, esi
mov edx, 0x7616
mov eax, edx
sub eax, 0x7616
je 0x1001c85f
sub eax, 0x2f
jne 0x1001c86e
mov eax, dword [esp + 0x20]
movzx eax, byte [eax]
inc dword [esp + 0x20]
mov ecx, ebx
shl eax, cl
add dword [esp + 0x14], eax
add ebx, 8
mov dword [esp + 0x18], ebx
jmp 0x1001c86e
cmp dword [esp + 0x1c], 0
je 0x1001b237
dec dword [esp + 0x1c]
add edx, 0x2f
cmp edx, 0x7645
jbe 0x1001c835
cmp ebx, esi
jb 0x1001c830
mov eax, 0x697
cmp eax, eax
jne 0x1001c88e
mov ecx, edi
shr dword [esp + 0x14], cl
sub ebx, edi
add eax, 0x63
cmp eax, 0x697
jbe 0x1001c884
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x24]
add eax, 0xe
mov dword [esp + 0x24], eax
cmp eax, 0x7286
jbe 0x1001c7cd
mov eax, dword [esp + 0x34]
add eax, 0x4d
mov dword [esp + 0x34], eax
cmp eax, 0x5b44
jbe 0x1001c460
mov esi, dword [esp + 0x50]
jmp 0x1001c983
mov edx, 0x50f1
mov eax, edx
sub eax, 0x50f1
je 0x1001c94d
sub eax, 0x41
jne 0x1001c96a
movzx ecx, byte [esp + 0x31]
cmp ecx, ebx
jbe 0x1001c97e
cmp eax, 0xfc
ja case.0x1001c903.1
movzx ecx, byte [eax + 0x1001e880]
jmp dword [ecx*4 + 0x1001e86c]
mov edi, dword [esp + 0x20]
movzx esi, byte [edi]
mov ecx, ebx
shl esi, cl
add dword [esp + 0x14], esi
inc edi
mov dword [esp + 0x20], edi
jmp case.0x1001c903.1
cmp dword [esp + 0x1c], 0
je 0x1001b237
jmp case.0x1001c903.1
add ebx, 8
mov dword [esp + 0x18], ebx
jmp case.0x1001c903.1
dec dword [esp + 0x1c]
add eax, 0x54
lea esi, [eax + 0x27d9]
cmp esi, 0x28d5
jbe 0x1001c8f5
jmp 0x1001c96a
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 0x54]
mov esi, dword [esi + 0x4c]
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x14]
mov ecx, dword [esi + eax*4]
mov dword [esp + 0x30], ecx
add edx, 0x41
cmp edx, 0x5132
ja 0x1001c8d1
jmp 0x1001c8d6
mov esi, 0x110c
add esi, 0x5c
mov dword [esp + 0x50], esi
cmp esi, 0x1168
jbe 0x1001c3cb
mov esi, dword [esp + 0x10]
mov edx, dword [esi + 0x64]
add edx, dword [esi + 0x60]
cmp dword [esi + 0x68], edx
jb 0x1001c3c2
mov esi, 0x78e4
add esi, 2
cmp esi, 0x78f6
jbe 0x1001c220
mov edi, dword [esp + 0x10]
mov dword [edi], 0x14
mov edi, dword [esp + 0x18]
mov esi, dword [ebp + 8]
mov dword [esp + 0x24], 0x285b
mov eax, dword [esp + 0x24]
cmp eax, 0x293b
ja 0x1001cecd
je 0x1001ce80
add eax, 0xffffd7a5
cmp eax, 0xa8
ja case.0x1001cee4.10612
movzx ecx, byte [eax + 0x1001e994]
jmp dword [ecx*4 + 0x1001e980]
cmp dword [esp + 0x1c], 6
jb case.0x1001ca02.10332
cmp dword [esp + 0x38], 0x102
jb case.0x1001ca02.10332
mov esi, dword [ebp + 8]
mov ebx, 0x73bb
cmp ebx, 0x7475
ja 0x1001cbe3
je 0x1001cbce
mov eax, ebx
sub eax, 0x73bb
je 0x1001cab4
sub eax, 0x5d
jne 0x1001cbef
xor ecx, ecx
lea edx, [eax + 4]
cmp ecx, 0x99
ja case.0x1001ca62.1
movzx eax, byte [ecx + 0x1001ea54]
jmp dword [eax*4 + 0x1001ea40]
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
jmp case.0x1001ca62.1
mov eax, dword [esi]
mov esi, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x48], esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x38], eax
jmp case.0x1001ca62.1
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x3c]
jmp case.0x1001ca62.1
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x14], eax
add ecx, 0x33
dec edx
jne 0x1001ca53
mov dword [esp + 0x18], edi
jmp 0x1001cbef
mov ecx, dword [ebp + 8]
mov esi, 0x226b
cmp esi, 0x23ef
ja 0x1001cb34
je 0x1001cb25
cmp esi, 0x232d
ja 0x1001cb0b
je 0x1001cafe
mov eax, esi
sub eax, 0x226b
je 0x1001caf0
sub eax, 0x61
jne 0x1001cba7
mov eax, dword [ecx]
mov edx, dword [esp + 0x38]
mov dword [eax + 0x10], edx
jmp 0x1001cba7
mov edx, dword [ecx]
mov eax, dword [esp + 0x48]
mov dword [edx + 0xc], eax
jmp 0x1001cba7
mov edx, dword [ecx]
mov eax, dword [esp + 0x20]
mov dword [edx], eax
jmp 0x1001cba7
cmp esi, 0x238e
jne 0x1001cba7
mov eax, dword [ecx]
mov edx, dword [esp + 0x1c]
mov dword [eax + 4], edx
jmp 0x1001cba7
mov edx, dword [sym.imp.KERNEL32.dll_GlobalFix]
mov dword [esp + 0xa0], edx
jmp 0x1001cba7
mov eax, esi
sub eax, 0x2450
je 0x1001cb9c
sub eax, 0x61
je 0x1001cb50
sub eax, 0x61
jne 0x1001cba7
mov edx, dword [esp + 0x10]
mov dword [edx + 0x3c], edi
jmp 0x1001cba7
lea ecx, [esp + 0x6f8]
push ecx
lea edx, [esp + 0x1f4]
push edx
push 0x104
push str..txt
push str.NameFileFind
push str.PathFind
call dword [sym.imp.KERNEL32.dll_SearchPathA]
mov eax, dword [esp + 0xa0]
push eax
lea ecx, [esp + 0x4fc]
push str.GlobalFix__p_n
push ecx
call fcn.10027592
mov ecx, dword [ebp + 8]
add esp, 0xc
jmp 0x1001cba7
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [edx + 0x38], eax
add esi, 0x61
cmp esi, 0x2512
jbe 0x1001cabc
mov ecx, dword [esp + 0x3c]
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push ecx
push eax
call fcn.1001fae0
mov esi, dword [ebp + 8]
add esp, 8
jmp 0x1001cbef
mov eax, dword [esp + 0x10]
cmp dword [eax], 0xb
jne 0x1001cbef
mov dword [eax + 0x1bc4], 0xffffffff
jmp 0x1001cbef
cmp ebx, 0x74d2
je case.0x1001bdcc.56
add ebx, 0x5d
cmp ebx, 0x74d2
jbe 0x1001ca2a
jmp case.0x1001cee4.10612
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x20]
mov dword [ecx + 0x1bc4], 0
jmp 0x1001cc20
mov esi, 0x7c72
mov eax, esi
sub eax, 0x7c72
je 0x1001cc7b
sub eax, 0x30
jne 0x1001cca2
mov edx, 0x63d3
mov eax, edx
sub eax, 0x63d3
je 0x1001cc5f
sub eax, 0x57
jne 0x1001cc6e
movzx eax, byte [ebx]
mov ecx, edi
shl eax, cl
inc ebx
mov dword [esp + 0x20], ebx
add dword [esp + 0x14], eax
add edi, 8
mov dword [esp + 0x18], edi
jmp 0x1001cc6e
cmp dword [esp + 0x1c], 0
je 0x1001b237
dec dword [esp + 0x1c]
add edx, 0x57
cmp edx, 0x642a
jbe 0x1001cc38
jmp 0x1001cca2
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x54]
mov eax, dword [eax + 0x4c]
mov edx, 1
shl edx, cl
dec edx
and edx, dword [esp + 0x14]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x30], eax
shr eax, 8
movzx ecx, al
cmp ecx, edi
jbe case.0x1001ca02.10443
add esi, 0x30
cmp esi, 0x7ca2
ja 0x1001cc20
jmp 0x1001cc25
mov dword [esp + 0x24], 0x28cb
mov esi, dword [ebp + 8]
mov eax, dword [esp + 0x24]
add eax, 0x38
mov dword [esp + 0x24], eax
cmp eax, 0x2a1b
jbe 0x1001c9d6
mov dword [esp + 0x24], 0x7f50
nop
mov eax, dword [esp + 0x24]
sub eax, 0x7f50
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
je 0x1001cfd6
sub eax, 0x1c
jne 0x1001d0f2
mov dword [edx], 0x16
jmp 0x1001d0f2
cmp byte [esp + 0x30], 0
je case.0x1001ca02.10332
test byte [esp + 0x30], 0xf0
jne case.0x1001ca02.10332
mov ebx, dword [esp + 0x14]
mov esi, 0x257b
lea ebx, [ebx]
lea eax, [esi - 0x257b]
cmp eax, 0xf0
ja case.0x1001cd48.9596
movzx edx, byte [eax + 0x1001eb04]
jmp dword [edx*4 + 0x1001eaf0]
mov esi, 0x2dcb
mov dword [esp + 0x2c], esi
mov eax, esi
sub eax, 0x2dcb
je 0x1001cdc4
sub eax, 0x55
jne 0x1001cdff
mov edx, 0x1e82
mov eax, edx
sub eax, 0x1e82
je 0x1001cda8
sub eax, 0x57
je 0x1001cd8c
sub eax, 0x57
jne 0x1001cdb3
add edi, 8
mov dword [esp + 0x18], edi
jmp 0x1001cdb3
mov eax, dword [esp + 0x20]
movzx esi, byte [eax]
dec dword [esp + 0x1c]
mov ecx, edi
shl esi, cl
add ebx, esi
inc eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
jmp 0x1001cdb3
cmp dword [esp + 0x1c], 0
je 0x1001b237
add edx, 0x57
cmp edx, 0x1f30
jbe 0x1001cd70
mov esi, dword [esp + 0x2c]
jmp 0x1001cdff
mov ecx, dword [esp + 0x60]
movzx eax, ch
movzx ecx, cl
add ecx, eax
mov edx, 1
shl edx, cl
mov ecx, eax
dec edx
and edx, ebx
shr edx, cl
movzx ecx, word [esp + 0x62]
add edx, ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x4c]
mov ecx, dword [ecx + edx*4]
mov dword [esp + 0x30], ecx
shr ecx, 8
movzx edx, cl
add edx, eax
cmp edx, edi
jbe case.0x1001cd48.9755
add esi, 0x55
mov dword [esp + 0x2c], esi
cmp esi, 0x2e20
ja case.0x1001cd48.9675
jmp 0x1001cd59
mov esi, 0x261b
jmp case.0x1001cd48.9596
mov edx, 0x6b22
mov eax, edx
sub eax, 0x6b22
je 0x1001ce3a
sub eax, 2
jne 0x1001ce40
movzx eax, byte [esp + 0x61]
sub edi, eax
jmp 0x1001ce40
mov cl, byte [esp + 0x61]
shr ebx, cl
add edx, 2
cmp edx, 0x6b24
jbe 0x1001ce23
movzx ecx, byte [esp + 0x61]
mov eax, dword [esp + 0x10]
add dword [eax + 0x1bc4], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
jmp case.0x1001cd48.9596
mov edx, dword [esp + 0x30]
mov dword [esp + 0x60], edx
add esi, 0x50
cmp esi, 0x266b
jbe 0x1001cd30
jmp case.0x1001ca02.10332
mov ebx, dword [esp + 0x14]
mov edx, 0x5af2
mov eax, edx
sub eax, 0x5af2
je 0x1001cea0
sub eax, 0x15
jne 0x1001cea6
movzx eax, byte [esp + 0x31]
sub edi, eax
jmp 0x1001cea6
mov cl, byte [esp + 0x31]
shr ebx, cl
add edx, 0x15
cmp edx, 0x5b07
jbe 0x1001ce89
movzx ecx, byte [esp + 0x31]
mov eax, dword [esp + 0x10]
add dword [eax + 0x1bc4], ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
jmp case.0x1001cee4.10612
add eax, 0xffffd68d
cmp eax, 0xa8
ja case.0x1001cee4.10612
movzx edx, byte [eax + 0x1001ec0c]
jmp dword [edx*4 + 0x1001ebf8]
movzx ecx, byte [esp + 0x30]
mov eax, dword [esp + 0x10]
and ecx, 0xf
mov dword [eax + 0x48], ecx
mov dword [eax], 0x15
jmp case.0x1001cee4.10612
mov cl, byte [esp + 0x30]
test cl, cl
jne 0x1001cf24
mov eax, 0x2f91
cmp eax, eax
je 0x1001cfc7
add eax, 0x54
cmp eax, 0x2f91
jbe 0x1001cf14
test cl, 0x20
je case.0x1001cee4.10612
mov edx, dword [esp + 0x10]
mov ecx, 0x56c9
or ebx, 0xffffffff
lea esp, [esp]
mov eax, ecx
sub eax, 0x56c9
je 0x1001cf54
sub eax, 0x4e
je case.0x1001bdcc.56
jmp 0x1001cf60
mov dword [edx + 0x1bc4], ebx
mov dword [edx], 0xb
add ecx, 0x4e
cmp ecx, 0x5717
jbe 0x1001cf40
jmp case.0x1001cee4.10612
test byte [esp + 0x30], 0x40
je case.0x1001cee4.10612
mov ecx, 0xa34
mov eax, ecx
sub eax, 0xa34
je 0x1001cf9d
sub eax, 0x23
jne 0x1001cfa6
mov eax, dword [esp + 0x10]
mov dword [eax], 0x1d
jmp case.0x1001bdcc.56
mov edx, dword [esi]
mov dword [edx + 0x18], str.invalid_literal_length_code
add ecx, 0x23
cmp ecx, 0xa57
jbe 0x1001cf80
jmp case.0x1001cee4.10612
movzx eax, word [esp + 0x32]
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x40], eax
jmp case.0x1001cee4.10612
mov edx, dword [esp + 0x10]
mov dword [edx], 0x19
jmp case.0x1001bdcc.56
mov ecx, dword [edx + 0x48]
test ecx, ecx
je 0x1001d0e9
mov dword [esp + 0x34], 0x4aad
lea esp, [esp]
mov eax, dword [esp + 0x34]
sub eax, 0x4aad
je 0x1001d038
sub eax, 0x24
je 0x1001d014
sub eax, 0x24
jne 0x1001d0d3
add dword [edx + 0x1bc4], ecx
jmp 0x1001d0d3
mov eax, 0x613a
cmp eax, eax
jne 0x1001d021
shr edi, cl
sub esi, ecx
add eax, 0xd
cmp eax, 0x613a
jbe 0x1001d01b
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edi
jmp 0x1001d0d3
cmp esi, ecx
jae 0x1001d0bf
mov edi, 0x450f
mov eax, edi
sub eax, 0x450f
je 0x1001d0a0
sub eax, 0xb
je 0x1001d082
sub eax, 0xb
jne 0x1001d0af
mov ecx, dword [esp + 0xac]
push ecx
lea edx, [esp + 0x2fc]
push str.SetErrorMode__p_n
push edx
call fcn.10027592
mov edx, dword [esp + 0x1c]
add esp, 0xc
add esi, 8
mov dword [esp + 0x18], esi
jmp 0x1001d0af
mov eax, dword [sym.imp.KERNEL32.dll_SetErrorMode]
mov dword [esp + 0xac], eax
movzx eax, byte [ebx]
mov ecx, esi
shl eax, cl
add dword [esp + 0x14], eax
inc ebx
mov dword [esp + 0x20], ebx
jmp 0x1001d0af
cmp dword [esp + 0x1c], 0
je 0x1001b237
dec dword [esp + 0x1c]
add edi, 0xb
cmp edi, 0x4525
jbe 0x1001d045
cmp esi, dword [edx + 0x48]
jb 0x1001d040
mov ecx, dword [edx + 0x48]
mov edi, dword [esp + 0x14]
mov eax, 1
shl eax, cl
dec eax
and eax, edi
add dword [edx + 0x40], eax
mov eax, dword [esp + 0x34]
add eax, 0x24
mov dword [esp + 0x34], eax
cmp eax, 0x4af5
jbe 0x1001cff0
mov ecx, dword [edx + 0x40]
mov dword [edx + 0x1bc8], ecx
mov eax, dword [esp + 0x24]
add eax, 0x1c
mov dword [esp + 0x24], eax
cmp eax, 0x7f6c
jbe 0x1001cce0
mov dword [esp + 0x24], 0x4d0e
mov edx, dword [esp + 0x24]
cmp edx, 0x4dda
ja 0x1001d3a4
je 0x1001d350
mov eax, edx
sub eax, 0x4d0e
je 0x1001d2a4
sub eax, 0x44
je 0x1001d346
sub eax, 0x44
jne 0x1001d421
test byte [esp + 0x30], 0xf0
jne 0x1001d421
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov esi, 0xf0e
mov eax, esi
sub eax, 0xf0e
je 0x1001d1b0
sub eax, 0x5a
je 0x1001d28b
sub eax, 0x5a
jne 0x1001d290
mov eax, 0x61ac
cmp eax, eax
jne 0x1001d18a
movzx ecx, byte [esp + 0x61]
shr ebx, cl
sub edi, ecx
add eax, 0x2e
cmp eax, 0x61ac
jbe 0x1001d17f
movzx ecx, byte [esp + 0x61]
mov eax, dword [esp + 0x10]
add dword [eax + 0x1bc4], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], ebx
jmp 0x1001d290
mov edx, dword [esp + 0x30]
mov dword [esp + 0x60], edx
jmp 0x1001d1c0
mov dword [esp + 0x34], 0x3f3d
mov eax, dword [esp + 0x34]
sub eax, 0x3f3d
je 0x1001d235
sub eax, 0x21
jne 0x1001d26c
mov esi, dword [esp + 0x20]
mov edx, 0x3cd7
mov eax, edx
sub eax, 0x3cd7
je 0x1001d219
sub eax, 6
je 0x1001d201
sub eax, 6
jne 0x1001d224
add edi, 8
mov dword [esp + 0x18], edi
jmp 0x1001d224
movzx eax, byte [esi]
dec dword [esp + 0x1c]
mov ecx, edi
shl eax, cl
add ebx, eax
inc esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], esi
jmp 0x1001d224
cmp dword [esp + 0x1c], 0
je 0x1001b237
add edx, 6
cmp edx, 0x3ce3
jbe 0x1001d1e5
mov edx, dword [esp + 0x60]
jmp 0x1001d26c
movzx eax, dh
movzx ecx, dl
add ecx, eax
mov esi, 1
shl esi, cl
mov ecx, eax
dec esi
and esi, ebx
shr esi, cl
movzx ecx, word [esp + 0x62]
add esi, ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x50]
mov ecx, dword [ecx + esi*4]
mov dword [esp + 0x30], ecx
shr ecx, 8
movzx ecx, cl
add ecx, eax
cmp ecx, edi
jbe 0x1001d287
mov eax, dword [esp + 0x34]
add eax, 0x21
mov dword [esp + 0x34], eax
cmp eax, 0x3f5e
ja 0x1001d1c0
jmp 0x1001d1c8
mov edx, dword [esp + 0x24]
mov esi, 0xf68
add esi, 0x5a
cmp esi, 0xfc2
jbe 0x1001d15d
jmp 0x1001d421
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
lea esp, [esp]
mov edx, 0x451f
mov eax, edx
sub eax, 0x451f
je 0x1001d30b
sub eax, 0x12
jne 0x1001d332
mov edi, 0x7a1b
mov eax, edi
sub eax, 0x7a1b
je 0x1001d2ef
sub eax, 0x2e
jne 0x1001d2fe
movzx eax, byte [ebx]
mov ecx, esi
shl eax, cl
inc ebx
mov dword [esp + 0x20], ebx
add dword [esp + 0x14], eax
add esi, 8
mov dword [esp + 0x18], esi
jmp 0x1001d2fe
cmp dword [esp + 0x1c], 0
je 0x1001b237
dec dword [esp + 0x1c]
add edi, 0x2e
cmp edi, 0x7a49
jbe 0x1001d2c8
jmp 0x1001d332
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 0x58]
mov edi, dword [edi + 0x50]
mov eax, 1
shl eax, cl
dec eax
and eax, dword [esp + 0x14]
mov edi, dword [edi + eax*4]
mov dword [esp + 0x30], edi
shr edi, 8
movzx ecx, bh
cmp ecx, esi
jbe 0x1001d346
add edx, 0x12
cmp edx, 0x4531
ja 0x1001d2b0
jmp 0x1001d2b5
mov edx, 0x4d52
jmp 0x1001d421
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov esi, 0x4243
lea ecx, [ecx]
mov eax, esi
sub eax, 0x4243
je 0x1001d377
sub eax, 0x15
jne 0x1001d37d
movzx eax, byte [esp + 0x31]
sub edx, eax
jmp 0x1001d37d
mov cl, byte [esp + 0x31]
shr edi, cl
add esi, 0x15
cmp esi, 0x4258
jbe 0x1001d360
movzx ecx, byte [esp + 0x31]
mov esi, dword [esp + 0x10]
add dword [esi + 0x1bc4], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edx
jmp 0x1001d41d
mov eax, edx
sub eax, 0x4e1e
je 0x1001d3c9
sub eax, 0x44
jne 0x1001d421
movzx ecx, byte [esp + 0x30]
mov edi, dword [esp + 0x10]
and ecx, 0xf
mov dword [edi + 0x48], ecx
mov dword [edi], 0x17
jmp 0x1001d421
test byte [esp + 0x30], 0x40
mov edx, dword [esp + 0x10]
je 0x1001d415
mov esi, dword [ebp + 8]
mov ecx, 0x1bdc
lea esp, [esp]
mov eax, ecx
sub eax, 0x1bdc
je 0x1001d401
sub eax, 0x55
je 0x1001d3f9
sub eax, 0x55
je case.0x1001bdcc.56
jmp 0x1001d40a
mov dword [edx], 0x1d
jmp 0x1001d40a
mov eax, dword [esi]
mov dword [eax + 0x18], str.invalid_distance_code
add ecx, 0x55
cmp ecx, 0x1c86
jbe 0x1001d3e0
movzx ecx, word [esp + 0x32]
mov dword [edx + 0x44], ecx
mov edx, dword [esp + 0x24]
add edx, 0x44
mov dword [esp + 0x24], edx
cmp edx, 0x4e62
jbe 0x1001d114
mov dword [esp + 0x34], 0x7142
mov ecx, dword [esp + 0x34]
mov eax, ecx
sub eax, 0x7142
je 0x1001d461
sub eax, 0x5e
jne 0x1001d553
mov ebx, dword [esp + 0x10]
mov dword [ebx], 0x18
jmp 0x1001d553
mov ebx, dword [esp + 0x10]
mov edi, dword [ebx + 0x48]
test edi, edi
je 0x1001d553
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
mov eax, 0x7b57
mov dword [esp + 0x2c], eax
jmp 0x1001d487
mov ebx, dword [esp + 0x10]
sub eax, 0x7b57
je 0x1001d4df
sub eax, 0x35
je 0x1001d4a7
sub eax, 0x35
jne 0x1001d539
add dword [ebx + 0x1bc4], edi
jmp 0x1001d539
mov eax, 1
mov ecx, edi
shl eax, cl
dec eax
and eax, dword [esp + 0x14]
add dword [ebx + 0x44], eax
mov ebx, dword [esp + 0x14]
mov eax, 0x1daa
cmp eax, eax
jne 0x1001d4cb
mov ecx, edi
shr ebx, cl
sub edx, edi
add eax, 0x61
cmp eax, 0x1daa
jbe 0x1001d4c3
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ebx
jmp 0x1001d539
cmp edx, edi
jae 0x1001d539
mov ebx, 0x7077
mov eax, ebx
sub eax, 0x7077
je 0x1001d51a
sub eax, 0x1f
je 0x1001d504
sub eax, 0x1f
jne 0x1001d525
add edx, 8
mov dword [esp + 0x18], edx
jmp 0x1001d525
movzx eax, byte [esi]
dec dword [esp + 0x1c]
mov ecx, edx
shl eax, cl
add dword [esp + 0x14], eax
inc esi
mov dword [esp + 0x20], esi
jmp 0x1001d525
cmp dword [esp + 0x1c], 0
je 0x1001b237
add ebx, 0x1f
cmp ebx, 0x70b5
jbe 0x1001d4e8
mov ecx, dword [esp + 0x10]
cmp edx, dword [ecx + 0x48]
jb 0x1001d4e3
mov eax, dword [esp + 0x2c]
add eax, 0x35
mov dword [esp + 0x2c], eax
cmp eax, 0x7bc1
jbe 0x1001d483
mov ecx, dword [esp + 0x34]
add ecx, 0x5e
mov dword [esp + 0x34], ecx
cmp ecx, 0x71a0
jbe 0x1001d440
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x2c], 0x79ff
mov dword [esp + 0x24], 0
cmp dword [esp + 0x24], 0xe1
ja case.0x1001d597.1
mov edx, dword [esp + 0x24]
movzx eax, byte [edx + 0x1001ecd4]
jmp dword [eax*4 + 0x1001ecb8]
cmp dword [esp + 0x38], 0
je 0x1001b237
jmp case.0x1001d597.1
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x38]
cmp ecx, edi
jbe 0x1001d5c0
mov ecx, edi
mov dword [esp + 0x28], ecx
sub edi, ecx
mov dword [esp + 0x38], edi
jmp case.0x1001d597.1
mov edi, dword [esp + 0x3c]
sub edi, dword [esp + 0x38]
mov dword [esp + 0x28], edi
jmp case.0x1001d597.1
mov edi, dword [esp + 0x28]
sub dword [esi + 0x40], edi
mov edx, dword [esp + 0x48]
mov cl, byte [ebx]
mov byte [edx], cl
inc edx
inc ebx
dec edi
jne 0x1001d5e7
mov dword [esp + 0x28], edi
mov dword [esp + 0x48], edx
jmp 0x1001d737
mov edx, dword [esi + 0x44]
mov ecx, dword [esp + 0x28]
cmp edx, ecx
jbe 0x1001d708
mov edi, 0x3912
jmp 0x1001d617
mov ecx, dword [esp + 0x28]
mov eax, edi
sub eax, 0x3912
je 0x1001d6aa
sub eax, 0x3a
je 0x1001d646
sub eax, 0x3a
jne 0x1001d6f7
mov eax, dword [esi + 0x40]
cmp ecx, eax
jbe 0x1001d6f7
mov dword [esp + 0x28], eax
jmp 0x1001d6f7
mov edx, dword [esi + 0x30]
cmp ecx, edx
jbe 0x1001d67d
mov ecx, 0x7e59
mov eax, ecx
sub eax, 0x7e59
je 0x1001d66c
sub eax, 0xc
jne 0x1001d670
mov ebx, dword [esi + 0x34]
add ebx, dword [esi + 0x28]
sub ebx, dword [esp + 0x28]
jmp 0x1001d670
sub dword [esp + 0x28], edx
add ecx, 0xc
cmp ecx, 0x7e65
jbe 0x1001d652
jmp 0x1001d684
mov ebx, dword [esi + 0x34]
sub ebx, ecx
add ebx, edx
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push str.____
mov dword [esp + 0x84], ebx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
jmp 0x1001d6f7
mov eax, dword [esi + 0x44]
sub eax, ecx
mov dword [esp + 0x28], eax
cmp eax, dword [esi + 0x2c]
jbe 0x1001d6f7
cmp dword [esi + 0x1bc0], 0
je 0x1001d6f7
mov ecx, 0x4210
mov eax, ecx
sub eax, 0x4210
je 0x1001d6da
sub eax, 0x43
je case.0x1001bdcc.56
jmp 0x1001d6ec
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [eax + 0x18], str.invalid_distance_too_far_back
mov dword [esi], 0x1d
add ecx, 0x43
cmp ecx, 0x4253
jbe 0x1001d6c6
add edi, 0x3a
cmp edi, 0x3986
jbe 0x1001d613
jmp case.0x1001d597.1
mov edi, dword [esp + 0x48]
mov ecx, 0x6d91
mov eax, ecx
sub eax, 0x6d91
je 0x1001d728
sub eax, 0x2a
jne 0x1001d72c
mov eax, dword [esi + 0x40]
mov dword [esp + 0x28], eax
jmp 0x1001d72c
mov ebx, edi
sub ebx, edx
add ecx, 0x2a
cmp ecx, 0x6dbb
jbe 0x1001d711
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0x2c]
add dword [esp + 0x24], 0x2d
add eax, 0x2d
mov dword [esp + 0x2c], eax
cmp eax, 0x7ae0
jbe 0x1001d57e
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x48]
mov ecx, 0x9b5
mov eax, ecx
sub eax, 0x9b5
je 0x1001d7a1
sub eax, 0x3c
je 0x1001d79a
sub eax, 0x3c
jne 0x1001d7b3
mov dword [edx], 0x14
jmp case.0x1001bdcc.56
cmp dword [esi + 0x40], 0
jne case.0x1001bdcc.56
mov dword [esi], 0x14
jmp case.0x1001bdcc.56
dec edi
mov dword [esp + 0x38], edi
jmp 0x1001d7b3
test edi, edi
je 0x1001b237
mov al, byte [edx + 0x40]
mov byte [esi], al
inc esi
mov dword [esp + 0x48], esi
add ecx, 0x3c
cmp ecx, 0xa2d
jbe 0x1001d767
mov dword [esp + 0x34], 0x96f
mov edx, dword [esp + 0x34]
lea ebx, [ebx]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov eax, edx
sub eax, 0x96f
je 0x1001d7fd
sub eax, 0xc
jne 0x1001d9bd
mov dword [ecx], 0x1b
jmp 0x1001d9bd
cmp dword [ecx + 8], 0
je 0x1001d9bd
mov eax, 0x4ad8
mov dword [esp + 0x2c], eax
jmp 0x1001d816
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x3c]
cmp eax, 0x4b7a
ja 0x1001d8f5
je 0x1001d8aa
sub eax, 0x4ad8
je 0x1001d84b
sub eax, 0x51
jne 0x1001d9a3
mov eax, dword [ebp + 8]
mov eax, dword [eax]
add dword [eax + 0x14], edx
add dword [ecx + 0x1c], edx
jmp 0x1001d9a3
cmp edi, 0x20
jae 0x1001d89d
mov edx, 0x65db
mov eax, edx
sub eax, 0x65db
je 0x1001d87e
sub eax, 0x47
jne 0x1001d88d
movzx eax, byte [ebx]
mov ecx, edi
shl eax, cl
inc ebx
mov dword [esp + 0x20], ebx
add esi, eax
add edi, 8
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
jmp 0x1001d88d
cmp dword [esp + 0x1c], 0
je 0x1001b237
dec dword [esp + 0x1c]
add edx, 0x47
cmp edx, 0x6622
jbe 0x1001d855
cmp edi, 0x20
jb 0x1001d850
mov eax, dword [esp + 0x38]
sub dword [esp + 0x3c], eax
jmp 0x1001d9a3
test edx, edx
je 0x1001d8e8
mov eax, dword [esp + 0x3c]
cmp dword [ecx + 0x10], 0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
push eax
je 0x1001d8ce
sub ecx, eax
mov eax, dword [edx + 0x18]
push eax
call fcn.100244a0
jmp 0x1001d8d9
sub ecx, eax
mov eax, dword [edx + 0x18]
push eax
call fcn.100194b0
mov edx, dword [esp + 0x10]
mov ecx, dword [ebp + 8]
mov dword [edx + 0x18], eax
mov edx, dword [ecx]
mov dword [edx + 0x30], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
jmp 0x1001d9a3
sub eax, 0x4bcb
je 0x1001d939
sub eax, 0x51
jne 0x1001d9a3
mov ecx, 0x605
lea ebx, [ebx]
mov eax, ecx
sub eax, 0x605
je 0x1001d922
sub eax, 5
jne 0x1001d924
xor edi, edi
jmp 0x1001d924
xor esi, esi
add ecx, 5
cmp ecx, 0x60a
jbe 0x1001d910
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
jmp 0x1001d9a3
cmp dword [ecx + 0x10], 0
mov eax, esi
jne 0x1001d964
and eax, 0xff00
mov edx, esi
shl edx, 0x10
add eax, edx
mov edx, esi
shr edx, 8
and edx, 0xff00
shl eax, 8
add eax, edx
mov edx, esi
shr edx, 0x18
add eax, edx
cmp eax, dword [ecx + 0x18]
je 0x1001d9a3
mov ecx, 0x5c9e
mov eax, ecx
sub eax, 0x5c9e
je 0x1001d982
sub eax, 0x2f
je case.0x1001bdcc.56
jmp 0x1001d998
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, dword [esp + 0x10]
mov dword [edx + 0x18], str.incorrect_data_check
mov dword [eax], 0x1d
add ecx, 0x2f
cmp ecx, 0x5ccd
jbe 0x1001d96e
mov eax, dword [esp + 0x2c]
add eax, 0x51
mov dword [esp + 0x2c], eax
cmp eax, 0x4c1c
jbe 0x1001d812
mov edx, dword [esp + 0x34]
add edx, 0xc
mov dword [esp + 0x34], edx
cmp edx, 0x97b
jbe 0x1001d7d0
mov dword [esp + 0x34], 0x46a9
mov ecx, dword [esp + 0x34]
mov eax, ecx
sub eax, 0x46a9
je 0x1001d9fd
sub eax, 0x4a
jne 0x1001db28
mov edx, dword [esp + 0x10]
mov dword [edx], 0x1c
jmp 0x1001db28
mov eax, dword [esp + 0x10]
xor edx, edx
cmp dword [eax + 8], edx
je 0x1001db28
cmp dword [eax + 0x10], edx
je 0x1001db28
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov eax, 0x7581
mov dword [esp + 0x2c], eax
jmp 0x1001da32
xor edx, edx
sub eax, 0x7581
je 0x1001da64
sub eax, 0x3d
jne 0x1001db0e
mov eax, 0x513b
cmp eax, eax
jne 0x1001da51
mov dword [esp + 0x14], edx
xor esi, esi
add eax, 0x47
cmp eax, 0x513b
jbe 0x1001da49
mov dword [esp + 0x18], esi
jmp 0x1001db0e
cmp esi, 0x20
jae 0x1001dac0
lea esp, [esp]
mov edx, 0xdff
mov eax, edx
sub eax, 0xdff
je 0x1001daa8
sub eax, 0x52
je 0x1001da91
sub eax, 0x52
jne 0x1001dab0
add esi, 8
mov dword [esp + 0x18], esi
jmp 0x1001dab0
movzx eax, byte [edi]
mov ecx, esi
shl eax, cl
dec ebx
mov dword [esp + 0x1c], ebx
add dword [esp + 0x14], eax
inc edi
mov dword [esp + 0x20], edi
jmp 0x1001dab0
test ebx, ebx
je 0x1001b237
add edx, 0x52
cmp edx, 0xea3
jbe 0x1001da75
cmp esi, 0x20
jb 0x1001da70
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
cmp ecx, dword [edx + 0x1c]
je 0x1001db0e
mov ecx, 0xe63
mov eax, ecx
sub eax, 0xe63
je 0x1001daf7
sub eax, 0x53
je 0x1001daeb
sub eax, 0x53
je case.0x1001bdcc.56
jmp 0x1001db03
mov eax, dword [esp + 0x10]
mov dword [eax], 0x1d
jmp 0x1001db03
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [eax + 0x18], str.incorrect_length_check
add ecx, 0x53
cmp ecx, 0xf09
jbe 0x1001dad2
mov eax, dword [esp + 0x2c]
add eax, 0x3d
mov dword [esp + 0x2c], eax
cmp eax, 0x75be
jbe 0x1001da30
mov ecx, dword [esp + 0x34]
add ecx, 0x4a
mov dword [esp + 0x34], ecx
cmp ecx, 0x46f3
jbe 0x1001d9dc
mov ecx, 0x7be1
mov eax, ecx
sub eax, 0x7be1
je 0x1001db54
sub eax, 0x53
je 0x1001b237
jmp 0x1001db5c
mov dword [esp + 0x58], 1
add ecx, 0x53
cmp ecx, 0x7c34
jbe 0x1001db40
mov ecx, 0x1123
mov eax, ecx
sub eax, 0x1123
je 0x1001db80
sub eax, 0x39
je 0x1001b237
jmp 0x1001db88
mov dword [esp + 0x58], 0xfffffffd
add ecx, 0x39
cmp ecx, 0x115c
jbe 0x1001db6c
mov ecx, 0x16f3
jmp 0x1001dba0
mov eax, ecx
sub eax, 0x16f3
je 0x1001dbb4
sub eax, 0x4a
je 0x1001a174
jmp 0x1001dbbc
mov dword [esp + 0x5c], 0xfffffffc
add ecx, 0x4a
cmp ecx, 0x173d
jbe 0x1001dba0
mov eax, 0x7e6e
cmp eax, eax
je 0x1001ddfe
add eax, 0x62
cmp eax, 0x7e6e
jbe 0x1001dbce
mov esi, dword [esp + 0x10]
mov eax, 0xa0d
add eax, 0x4d
cmp eax, 0xa0d
jbe 0x1001a3d7
jmp 0x1001a3d0
mov dword [esp + 0x58], 0
jmp 0x1001ddd7
mov ecx, dword [ebx]
mov dword [ecx + 0xc], esi
mov ecx, dword [ebx]
mov ebx, dword [esp + 0x38]
mov dword [ecx + 0x10], ebx
jmp 0x1001dc3b
mov ecx, dword [ebx]
mov ebx, dword [esp + 0x1c]
mov dword [ecx + 4], ebx
mov ecx, dword [esp + 0x10]
mov dword [ecx + 0x38], edx
jmp 0x1001dc3b
cmp eax, 0x2ce5
jne 0x1001dc3e
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov dword [ebx + 0x3c], ecx
mov ebx, dword [ebp + 8]
add eax, 0x5c
cmp eax, 0x2ce5
jbe 0x1001b250
mov esi, dword [esp + 0x10]
jmp 0x1001ddd7
cmp edi, 0x465c
jne 0x1001ddd7
cmp dword [esi + 0x28], 0
jne 0x1001dc83
mov eax, dword [ebx]
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [eax + 0x10]
je 0x1001dcc9
mov eax, dword [esi]
cmp eax, 0x1d
jge 0x1001dcc9
cmp eax, 0x1a
jl 0x1001dc83
cmp dword [edx], 4
je 0x1001dcc9
mov edx, dword [esp + 0x3c]
mov eax, dword [ebx]
push edx
push eax
call fcn.10026f40
add esp, 8
test eax, eax
je 0x1001dcc9
mov ecx, 0x6412
mov eax, ecx
sub eax, 0x6412
je 0x1001dcb0
sub eax, 2
je 0x1001a174
jmp 0x1001dcbe
mov dword [esi], 0x1e
mov dword [esp + 0x5c], 0xfffffffc
add ecx, 2
cmp ecx, 0x6414
jbe 0x1001dc9c
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
sub dword [esp + 0x64], edx
jmp 0x1001ddd7
mov eax, dword [ebx]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x64]
sub dword [esp + 0x3c], ecx
add dword [eax + 8], edx
jmp 0x1001ddd7
cmp edi, 0x47d4
ja 0x1001ddcb
je 0x1001dd9f
mov eax, edi
sub eax, 0x4718
je 0x1001dd91
sub eax, 0x5e
jne 0x1001ddd7
cmp dword [esi + 8], eax
je 0x1001dd49
cmp dword [esp + 0x3c], eax
je 0x1001dd49
mov ecx, dword [ebx]
mov eax, dword [esp + 0x3c]
mov ecx, dword [ecx + 0xc]
mov edx, dword [esi + 0x18]
push eax
sub ecx, eax
cmp dword [esi + 0x10], 0
push edx
je 0x1001dd3c
call fcn.100244a0
jmp 0x1001dd41
call fcn.100194b0
mov dword [esi + 0x18], eax
mov edx, dword [ebx]
mov dword [edx + 0x30], eax
mov eax, dword [esi]
cmp eax, 0x13
je 0x1001dd59
cmp eax, 0xe
je 0x1001dd59
xor ecx, ecx
jmp 0x1001dd5e
mov ecx, 0x100
mov edx, dword [esi + 4]
mov esi, dword [esp + 0x10]
neg edx
sbb edx, edx
mov dword [esp + 0x2c], ebx
xor ebx, ebx
and edx, 0x40
cmp eax, 0xb
setne bl
dec ebx
and ebx, 0x80
add edx, ebx
add edx, dword [esi + 0x3c]
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx]
add edx, ecx
mov dword [eax + 0x2c], edx
jmp 0x1001ddd7
mov eax, dword [ebx]
mov ecx, dword [esp + 0x3c]
add dword [eax + 0x14], ecx
add dword [esi + 0x1c], ecx
jmp 0x1001ddd7
cmp dword [esp + 0x64], 0
jne 0x1001ddad
cmp dword [esp + 0x3c], 0
je 0x1001ddb2
cmp dword [edx], 4
jne 0x1001ddc1
cmp dword [esp + 0x58], 0
jne 0x1001ddc1
mov dword [esp + 0x58], 0xfffffffb
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x5c], ecx
jmp 0x1001ddd7
cmp edi, 0x4832
je 0x1001a174
add edi, 0x5e
cmp edi, dword [esp + 0xa4]
jbe 0x1001a100
mov eax, dword [esp + 0x5c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0xfffffffd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffffe
pop ebx
mov esp, ebp
pop ebp
ret