Function at 0x10010570
Capabilities:
Parse pe header

Disassembly:
push ebp
lea ebp, [esp - 0xdac]
sub esp, 0xdac
push 0xffffffffffffffff
push 0x1017c5bb
mov eax, dword fs:[0]
push eax
sub esp, 0x30
mov eax, dword [0x101e6040]
xor eax, ebp
mov dword [ebp + 0xda8], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp + 0xdb4]
mov edi, dword [ebp + 0xdb8]
mov ebx, dword [ebp + 0xdbc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xdc0]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xdc4]
push 0x400
mov dword [ebp - 0x34], eax
lea eax, [ebp + 0x988]
push 0
push eax
call fcn.10152e30
add esp, 0xc
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x10], 0
test ebx, ebx
je 0x10010689
mov ecx, 0x101c7530
mov eax, ebx
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1001062c
test dx, dx
je 0x10010628
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1001062c
add eax, 4
add ecx, 4
test dx, dx
jne 0x10010606
xor eax, eax
jmp 0x10010631
sbb eax, eax
or eax, 1
test eax, eax
je 0x10010657
push 4
push str..k2k
push ebx
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x10], 0
call fcn.10160c56
add esp, 0xc
test eax, eax
jne 0x1001066b
xorps xmm0, xmm0
movlpd qword [ebp + 0x10], xmm0
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x28], eax
push 3
push 0x101c7544
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
jne 0x10010689
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x10], eax
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
mov esi, dword [edi]
mov ecx, edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x30], edx
mov esi, dword [esi + 0x28]
call esi
cmp edx, dword [ebp - 0x10]
jl 0x100109ec
jg 0x100106b5
cmp eax, dword [ebp - 0x28]
jb 0x100109ec
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
test edx, edx
jl 0x1001077c
jg 0x100106d3
cmp eax, 0x1400000
jbe 0x1001077c
mov eax, dword [edi]
mov ecx, edi
push 2
push 0xffffffffffffffff
push 0xffffffffffffffe0
call dword [eax + 0x20]
mov eax, dword [edi]
lea ecx, [ebp + 0xd88]
push 0
push 0x20
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x1001077c
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
sub eax, 0x20
push 0
push 0x3d090000
sbb edx, 0
push edx
push eax
call fcn.10178910
cmp eax, 1
jle 0x1001073b
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
sub eax, 0x20
push 0
push 0x3d090000
sbb edx, 0
push edx
push eax
call fcn.10178910
jmp 0x10010740
mov eax, 1
cmp dword [ebp + 0xd88], 0
jne 0x1001077c
cmp dword [ebp + 0xd8c], 0
jne 0x1001077c
cmp dword [ebp + 0xd90], eax
jne 0x1001077c
cmp dword [ebp + 0xda0], 0x3030334c
jne 0x1001077c
cmp dword [ebp + 0xda4], 0x39303030
jne 0x1001077c
mov eax, 0x24
jmp 0x100109f1
test ebx, ebx
je 0x1001094e
push 3
push 0x101c7544
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
jne 0x1001094e
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x24]
call eax
mov esi, dword [edi]
mov ecx, edi
mov dword [ebp + 0x14], eax
mov dword [ebp - 0x3c], edx
mov esi, dword [esi + 0x28]
call esi
push 0
push 0
mov ecx, edi
mov dword [ebp - 0x38], eax
mov esi, edx
call fcn.10001920
test esi, esi
jl 0x1001094e
jg 0x100107d8
cmp dword [ebp - 0x38], 2
jb 0x1001094e
lea ecx, [ebp + 0x830]
call fcn.10003360
push 0x818
lea eax, [ebp + 0x18]
push 0
push eax
call fcn.10152e30
add esp, 0xc
lea eax, [ebp + 0x830]
lea ecx, [ebp + 0x18]
push eax
call fcn.10056bf0
mov dword [ebp - 4], 0
lea ecx, [ebp + 0x18]
mov dword [ebp + 0x18], vtable.CArkUnBrotli.1.0
mov dword [ebp + 0x1c], vtable.CArkUnBrotli.0
call fcn.10057120
mov dword [ebp - 4], 1
xorps xmm0, xmm0
mov dword [ebp + 0x4c], edi
mov dword [ebp + 0x970], 0
mov dword [ebp + method.CArkMemOut.1.virtual_0], 0x101c9118
mov dword [ebp + 0x96c], 0x101c9110
movlpd qword [ebp + 0x978], xmm0
push 0xa0
lea eax, [ebp + 0x8c8]
push 0
push eax
call fcn.10152e30
add esp, 0xc
mov byte [ebp - 4], 3
mov ecx, edi
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
push 0
mov dword [ebp + 0x8d8], eax
lea ecx, [ebp + 0x18]
push 0x2800
lea eax, [ebp + 0x968]
mov dword [ebp + 0x8dc], edx
push eax
lea eax, [ebp + 0x8c8]
push eax
call fcn.1003c760
lea ecx, [ebp + 0x8c8]
mov dword [ebp + 0x4c], 0
mov esi, eax
call fcn.1001acc0
push dword [ebp - 0x3c]
mov byte [ebp - 4], 1
mov ecx, edi
push dword [ebp + 0x14]
call fcn.10001920
mov dword [ebp - 4], 4
mov ecx, dword [ebp + 0x50]
mov dword [ebp + 0x18], vtable.CArkUnBrotli.1.0
mov dword [ebp + 0x1c], vtable.CArkUnBrotli.0
test ecx, ecx
je 0x100108ef
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp + 0x50], 0
mov ecx, dword [ebp + 0x4c]
test ecx, ecx
je 0x1001090f
mov eax, dword [ecx]
call dword [eax + 0x2c]
mov ecx, dword [ebp + 0x4c]
test ecx, ecx
je 0x1001090f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp + 0x4c], 0
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x68]
cmp eax, fcn.10003940
je 0x10010921
lea ecx, [ebp + 0x18]
call eax
lea ecx, [ebp + 0x34]
call fcn.1001af00
lea ecx, [ebp + 0x18]
call fcn.10057120
lea ecx, [ebp + 0x18]
call fcn.10056d50
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x1001094e
mov eax, 0x32
jmp 0x100109f1
mov eax, dword [ebp - 0x1c]
mov ecx, edi
push 0
push dword [ebp - 0x30]
push dword [ebp - 0x20]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [edi]
call dword [eax + 0x20]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
cmp edx, dword [ebp - 0x10]
jl 0x100109ec
jg 0x10010982
cmp eax, dword [ebp - 0x28]
jb 0x100109ec
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
test edx, edx
jg 0x100109bf
jl 0x10010998
cmp eax, 0x7fffffff
jae 0x100109bf
cmp eax, 0x400
jg 0x100109bf
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
mov esi, eax
test edx, edx
jl 0x100109c4
jg 0x100109b8
cmp esi, 0x7fffffff
jb 0x100109c4
mov esi, SysReAllocString
jmp 0x100109c4
mov esi, 0x400
mov eax, dword [edi]
lea ecx, [ebp + 0x988]
push 0
push esi
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
jne 0x10010a16
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x4c]
mov ecx, dword [ebp - 0x14]
mov dword [ecx], 0xa0000015
mov dword [ecx + 4], eax
mov eax, 0xff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0xda8]
xor ecx, ebp
call fcn.10151433
lea esp, [ebp + 0xdac]
pop ebp
ret 0x14
mov ecx, dword [ebp - 0x24]
lea eax, [ebp + 0x988]
push 0
push 0
push esi
push eax
call fcn.10004af0
mov esi, eax
mov dword [ebp - 0x10], esi
cmp esi, 0xff
je 0x10010e32
cmp esi, 0xa
jne 0x10010c28
mov edx, dword [edi]
mov ecx, edi
push 0
push dword [ebp - 0x30]
push dword [ebp - 0x20]
call dword [edx + 0x20]
mov eax, dword [edi]
lea ecx, [ebp + 0xd88]
push 0
push 0x20
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x10010bb7
cmp byte [ebp + 0xd8e], 0
jne 0x10010a89
cmp byte [ebp + 0xd8f], 3
jae 0x10010a89
mov esi, 1
jmp 0x10010bb9
push 0x101eb0a8
push 0x14
lea edx, [ebp + 0xd94]
or ecx, 0xffffffff
call fcn.10108970
mov ecx, dword [ebp + 0xd90]
test ecx, ecx
je 0x10010ab2
not eax
cmp eax, ecx
jne 0x10010bb7
xorps xmm0, xmm0
mov dword [ebp + 0x14], 0
movq qword [ebp + 0xc], xmm0
mov dword [ebp + 0x10], 0
mov dword [ebp + 0x14], 0
mov dword [ebp + 0xc], vtable.CArkAutoByte.0
mov dword [ebp - 4], 5
mov eax, dword [ebp + 0xd9c]
mov dword [ebp - 0x14], eax
cmp eax, 0x7fffffff
jae 0x10010bb0
push eax
call fcn.101554b7
mov esi, eax
add esp, 4
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x10], esi
mov dword [ebp + 0x14], eax
test esi, esi
je 0x10010bb0
mov eax, dword [edi]
mov ecx, edi
push 1
push dword [ebp + 0xd98]
push dword [ebp + 0xd94]
mov eax, dword [eax + 0x20]
call eax
and eax, edx
cmp eax, 0xffffffff
jne 0x10010b39
push esi
mov dword [ebp - 4], eax
call fcn.10154f5a
add esp, 4
jmp 0x10010bb7
mov eax, dword [ebp + 0xd9c]
mov ecx, edi
mov esi, dword [edi]
cdq
push edx
push eax
push dword [ebp + 0x10]
call dword [esi + 0x18]
test eax, eax
jne 0x10010b64
mov dword [ebp - 4], 0xffffffff
push dword [ebp + 0x10]
call fcn.10154f5a
add esp, 4
jmp 0x10010bb7
mov esi, dword [ebp + 0x10]
or ecx, 0xffffffff
push 0x101eb0a8
push dword [ebp + 0xd9c]
mov edx, esi
call fcn.10108970
not eax
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp + 0xda4], eax
je 0x10010b9c
test esi, esi
je 0x10010bb7
push esi
call fcn.10154f5a
add esp, 4
jmp 0x10010bb7
test esi, esi
je 0x10010ba9
push esi
call fcn.10154f5a
add esp, 4
mov esi, 1
jmp 0x10010bb9
mov dword [ebp - 4], 0xffffffff
xor esi, esi
test ebx, ebx
je 0x10010c18
push 4
push str..001
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
jne 0x10010c18
test esi, esi
je 0x10010c0e
push eax
push 0x101e7df0
push 0x101e7dd4
push eax
push edi
call fcn.1017b364
add esp, 0x14
test eax, eax
je 0x10010c04
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x60]
dec eax
neg eax
sbb eax, eax
neg eax
add eax, 0xa
jmp 0x100109f1
mov eax, 0xa
jmp 0x100109f1
mov eax, 0xb
jmp 0x100109f1
test esi, esi
jne 0x10010e2a
lea eax, [esi + 0xc]
jmp 0x100109f1
cmp esi, 6
jne 0x10010c4a
push ebx
lea eax, [ebp + 0x988]
push eax
call fcn.10004a40
test eax, eax
je 0x10010e2a
lea eax, [esi + 1]
jmp 0x100109f1
cmp esi, 8
jne 0x10010c6c
push ebx
lea eax, [ebp + 0x988]
push eax
call fcn.10004a40
test eax, eax
je 0x10010e2a
lea eax, [esi + 1]
jmp 0x100109f1
cmp esi, 0x15
jne 0x10010c96
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x74], 0
je 0x10010e2a
push edi
mov ecx, eax
call fcn.100101e0
test eax, eax
je 0x10010e2a
lea eax, [esi + 0xd]
jmp 0x100109f1
cmp esi, 0x16
jne 0x10010dea
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x78], 0
je 0x10010e2a
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
push 0
call dword [eax + 0x20]
xorps xmm0, xmm0
mov dword [ebp + 8], 0
movq qword [ebp], xmm0
mov dword [ebp + 4], 0
mov dword [ebp + 8], 0
mov dword [ebp], vtable.CArkAutoByte.0
mov dword [ebp - 4], 6
mov ecx, edi
mov eax, dword [edi]
mov dword [ebp - 0x2c], 0
mov eax, dword [eax + 0x28]
call eax
push 0x2000
mov esi, eax
mov dword [ebp - 0x14], edx
call fcn.101554b7
mov ebx, eax
mov dword [ebp + 8], 0x2000
add esp, 4
mov dword [ebp + 4], ebx
test ebx, ebx
je 0x10010e2a
push 0
push 0
push ecx
push 1
push dword [ebp - 0x14]
mov edx, edi
lea ecx, [ebp - 0x2c]
push esi
push 0
call fcn.10027ba0
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x10010d4b
push ebx
call fcn.10154f5a
mov eax, dword [ebp - 0x10]
add esp, 4
jmp 0x100109f1
cmp dword [esi + 0x1394], 4
jne 0x10010d58
xor edi, edi
jmp 0x10010d7c
push 0x2000
push ebx
mov edx, esi
lea ecx, [ebp - 0x2c]
call fcn.10027dc0
mov edi, eax
add esp, 8
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x10010d7c
cmp eax, 4
je 0x10010d7c
or edi, 0xffffffff
cmp dword [esi + 0x1390], 0
mov dword [esi + 0x1394], 0
je 0x10010d9b
mov dword [esi + 0x1394], 0xffffffff
jmp 0x10010db8
cmp dword [esi + 0x1398], 0
je 0x10010daf
lea ecx, [esi + 0x139c]
call fcn.100acad0
push esi
call fcn.10154f5a
add esp, 4
test edi, edi
js 0x10010d3a
je 0x10010d3a
mov edx, edi
mov ecx, ebx
call fcn.1002b2d0
push ebx
test eax, eax
je 0x10010d3b
call fcn.10154f5a
add esp, 4
mov eax, 0x23
jmp 0x100109f1
cmp esi, 0xff
jl 0x10010e16
test ebx, ebx
je 0x10010e2a
push 4
push str..001
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
je 0x100113d2
mov eax, dword [ebp - 0x10]
jmp 0x100109f1
cmp esi, 0x29
jne 0x10010e2a
mov ecx, edi
call fcn.10053750
cmp al, 1
je 0x10010eb7
mov eax, dword [ebp - 0x10]
jmp 0x100109f1
test ebx, ebx
je 0x10010e4a
push 4
push str..iso
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
je 0x10010eac
mov eax, dword [ebp + 0x988]
test al, al
jne 0x10010f4e
cmp byte [ebp + 0x989], al
jne 0x10010f78
cmp byte [ebp + 0x98a], al
jne 0x10010f78
cmp byte [ebp + 0x98b], al
jne 0x10010f78
cmp byte [ebp + 0x997], al
jne 0x10010f78
cmp byte [ebp + 0x998], al
jne 0x10010f78
cmp byte [ebp + 0x999], al
jne 0x10010f78
cmp byte [ebp + 0x99a], al
jne 0x10010f78
mov ecx, edi
call fcn.10053750
cmp al, 1
jne 0x10010ec1
mov eax, 0x12
jmp 0x100109f1
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
push 0x8000
mov eax, dword [eax + 0x20]
call eax
cmp eax, 0x8000
jne 0x10010f48
test edx, edx
jne 0x10010f48
mov eax, dword [edi]
lea ecx, [ebp + 0x988]
push edx
push 0x40
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x10010f48
mov eax, dword [ebp + 0x988]
cmp al, 1
jne 0x10010f34
cmp byte [ebp + 0x989], 0x43
jne 0x10010f34
cmp byte [ebp + 0x98a], 0x44
jne 0x10010f34
cmp byte [ebp + 0x98b], 0x30
jne 0x10010f34
cmp byte [ebp + 0x98c], 0x30
jne 0x10010f34
cmp byte [ebp + 0x98d], 0x31
jne 0x10010f34
mov eax, 0x10
jmp 0x100109f1
test ebx, ebx
je 0x10010f4e
push 4
push str..zip
push ebx
call fcn.10160c56
add esp, 0xc
mov eax, dword [ebp + 0x988]
cmp al, 0x4d
jne 0x10010f78
cmp byte [ebp + 0x989], 0x5a
jne 0x10010f78
push dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
push edi
call fcn.10005aa0
cmp eax, 0xff
jne 0x100109f1
mov eax, dword [ebp + 0x988]
test ebx, ebx
je 0x1001109b
push 4
push str..iso
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
je 0x10010fac
push 4
push str..bin
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
jne 0x10011095
mov eax, dword [ebp + 0x988]
test al, al
jne 0x100111a2
cmp byte [ebp + 0x989], al
jne 0x100110a3
cmp byte [ebp + 0x98a], al
jne 0x100111a2
cmp byte [ebp + 0x98b], al
jne 0x100111a2
cmp byte [ebp + 0x98c], al
jne 0x100111a2
cmp byte [ebp + 0x98d], al
jne 0x100111a2
cmp byte [ebp + 0x98e], al
jne 0x100111a2
cmp byte [ebp + 0x98f], al
jne 0x100111a2
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
push 0x9318
mov eax, dword [eax + 0x20]
call eax
cmp eax, 0x9318
jne 0x10011095
test edx, edx
jne 0x10011095
mov eax, dword [edi]
lea ecx, [ebp + 0x988]
push edx
push 0x40
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x10011095
mov eax, dword [ebp + 0x988]
cmp al, 1
jne 0x1001109b
cmp byte [ebp + 0x989], 0x43
jne 0x100111a2
cmp byte [ebp + 0x98a], 0x44
jne 0x100111a2
cmp byte [ebp + 0x98b], 0x30
jne 0x100111a2
cmp byte [ebp + 0x98c], 0x30
jne 0x100111a2
cmp byte [ebp + 0x98d], 0x31
jne 0x100111a2
mov eax, 0x29
jmp 0x100109f1
mov eax, dword [ebp + 0x988]
test al, al
jne 0x1001119a
cmp byte [ebp + 0x989], 0xff
jne 0x1001119a
cmp byte [ebp + 0x98a], 0xff
jne 0x1001119a
cmp byte [ebp + 0x98b], 0xff
jne 0x1001119a
cmp byte [ebp + 0x98c], 0xff
jne 0x1001119a
cmp byte [ebp + 0x98d], 0xff
jne 0x1001119a
cmp byte [ebp + 0x98e], 0xff
jne 0x1001119a
cmp byte [ebp + 0x98f], 0xff
jne 0x1001119a
cmp byte [ebp + 0x990], 0xff
jne 0x1001119a
cmp byte [ebp + 0x991], 0xff
jne 0x1001119a
cmp byte [ebp + 0x992], 0xff
jne 0x1001119a
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
push 0x9310
mov eax, dword [eax + 0x20]
call eax
cmp eax, 0x9310
jne 0x10011194
test edx, edx
jne 0x10011194
mov eax, dword [edi]
lea ecx, [ebp + 0x988]
push edx
push 0x40
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x10011194
mov eax, dword [ebp + 0x988]
cmp al, 1
jne 0x1001119a
cmp byte [ebp + 0x989], 0x43
jne 0x1001119a
cmp byte [ebp + 0x98a], 0x44
jne 0x1001119a
cmp byte [ebp + 0x98b], 0x30
jne 0x1001119a
cmp byte [ebp + 0x98c], 0x30
jne 0x1001119a
cmp byte [ebp + 0x98d], 0x31
jne 0x1001119a
mov eax, 0x11
jmp 0x100109f1
mov eax, dword [ebp + 0x988]
test ebx, ebx
je 0x10011437
push 3
push 0x101c757c
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
je 0x100111e2
push 4
push str..uue
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
je 0x100111e2
push 4
push str..xxe
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
jne 0x100112de
mov edx, 0x101c759c
lea ecx, [ebp + 0x988]
mov eax, dword [ecx]
mov esi, 1
cmp eax, dword [edx]
jne 0x10011203
add ecx, 4
mov esi, 0xfffffffd
add edx, 4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1001122a
cmp esi, 0xfffffffd
je 0x10011226
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1001122a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1001122a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1001122a
xor eax, eax
jmp 0x1001122f
sbb eax, eax
or eax, 1
test eax, eax
je 0x100113e4
mov edx, str.meta
lea ecx, [ebp + 0x988]
mov eax, dword [ecx]
mov esi, 1
cmp eax, dword [edx]
jne 0x10011258
add ecx, 4
mov esi, 0xfffffffd
add edx, 4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1001127f
cmp esi, 0xfffffffd
je 0x1001127b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1001127f
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1001127f
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
jne 0x1001127f
xor eax, eax
jmp 0x10011284
sbb eax, eax
or eax, 1
test eax, eax
je 0x100113e4
mov edx, 0x400
lea ecx, [ebp + 0x988]
cmp dword [ecx], 0x6765620d
jne 0x100112a7
cmp word [ecx + 4], 0x6e69
je 0x100112b0
dec edx
inc ecx
cmp edx, 6
jae 0x10011297
jmp 0x100112b8
test ecx, ecx
jne 0x100113e4
mov edx, 0x400
lea ecx, [ebp + 0x988]
cmp dword [ecx], 0x6765620a
jne 0x100112d7
cmp word [ecx + 4], 0x6e69
je 0x100113dc
dec edx
inc ecx
cmp edx, 6
jae 0x100112c3
cmp word [ebx], 0
je 0x1001138e
push str..zip
push ebx
call fcn.1015fdf3
add esp, 8
test eax, eax
je 0x10011342
push 0x101c7684
push ebx
call fcn.1015fdf3
add esp, 8
test eax, eax
je 0x10011342
push 0x101c786c
push ebx
call fcn.1015fdf3
add esp, 8
test eax, eax
je 0x10011342
push str..tar
push ebx
call fcn.1015fdf3
add esp, 8
test eax, eax
je 0x10011342
push 0x101c7c94
push ebx
call fcn.1015fdf3
add esp, 8
test eax, eax
jne 0x1001138e
lea eax, [ebp + 0x988]
cmp dword [eax], 0x69676562
jne 0x10011356
cmp byte [eax + 4], 0x6e
je 0x1001136a
lea eax, [ebp + 0x988]
cmp dword [eax], 0x6174656d
jne 0x1001138e
cmp byte [eax + 4], 0x20
jne 0x1001138e
mov ecx, edi
call fcn.10055a10
test al, al
je 0x1001138e
mov ecx, edi
call fcn.10055bf0
cmp eax, 0x34
je 0x100109f1
cmp eax, 0x35
je 0x100109f1
push 5
push str..lzma
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
je 0x1001146b
push 4
push str..tlz
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
je 0x1001146b
push 4
push str..001
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
jne 0x10011413
mov eax, 0x13
jmp 0x100109f1
test ecx, ecx
je 0x100112de
mov ecx, edi
call fcn.10055a10
test al, al
je 0x100112de
mov ecx, edi
call fcn.10055bf0
cmp eax, 0x34
je 0x100109f1
cmp eax, 0x35
mov ecx, 0x34
cmovne eax, ecx
jmp 0x100109f1
push 4
push str..k2k
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
jne 0x10011431
mov eax, 0x26
jmp 0x100109f1
mov eax, dword [ebp + 0x988]
cmp byte [ebp + 0xb86], 0x55
jne 0x10011475
cmp byte [ebp + 0xb87], 0xaa
jne 0x10011475
cmp byte [ebp + 0xb4a], 0
je 0x10011461
mov cl, byte [ebp + 0xb46]
test cl, cl
je 0x10011461
cmp cl, 0x80
jne 0x10011475
mov eax, 0x107
jmp 0x100109f1
mov eax, 0x17
jmp 0x100109f1
mov edx, eax
mov ecx, eax
shr edx, 0x10
shr ecx, 8
cmp eax, 0x73717368
je 0x10011cb6
cmp eax, 0x68737173
je 0x10011cb6
cmp eax, 0x71736873
je 0x10011cb6
cmp al, 4
jne 0x100114b7
cmp cl, 0x22
jne 0x100114b7
cmp dl, 0x4d
jne 0x100114b7
cmp byte [ebp + 0x98b], 0x18
je 0x100114d6
cmp al, 2
jne 0x100114e0
cmp byte [ebp + 0x989], 0x21
jne 0x100114e0
cmp byte [ebp + 0x98a], 0x4c
jne 0x100114e0
cmp byte [ebp + 0x98b], 0x18
jne 0x100114e0
mov eax, 0x38
jmp 0x100109f1
mov eax, dword [edi]
mov ecx, edi
push 0
push dword [ebp - 0x30]
push dword [ebp - 0x20]
call dword [eax + 0x20]
push dword [ebp - 0x34]
xorps xmm0, xmm0
mov dword [ebp + 8], 0
movq qword [ebp], xmm0
call fcn.101554b7
mov ecx, dword [ebp - 0x34]
mov esi, eax
add esp, 4
mov dword [ebp + 4], esi
mov dword [ebp + 8], ecx
mov dword [ebp], vtable.CArkAutoByte.0
mov dword [ebp - 4], 7
xorps xmm0, xmm0
movlpd qword [ebp + 0x980], xmm0
test esi, esi
je 0x10011c9a
mov eax, dword [edi]
lea edx, [ebp + 0x980]
push edx
push 0
push ecx
push esi
mov ecx, edi
call dword [eax + 0x1c]
test eax, eax
je 0x10011c9a
mov edx, dword [ebp + 0x980]
mov eax, edx
or eax, dword [ebp + 0x984]
je 0x10011c9a
mov ecx, esi
call fcn.1002b2d0
test eax, eax
je 0x10011578
mov esi, 0xd
jmp 0x10011c9f
mov edx, dword [ebp + 0x980]
xor ecx, ecx
mov dword [ebp - 0x20], ecx
lea eax, [edx - 0x40]
test eax, eax
jle 0x100115d5
nop word [eax + eax]
push 0
push ecx
sub edx, ecx
lea eax, [ecx + esi]
mov ecx, dword [ebp - 0x24]
push edx
push eax
call fcn.10004af0
mov ecx, dword [ebp - 0x1c]
mov esi, eax
mov eax, dword [ebp - 0x20]
cdq
mov dword [ecx], eax
mov eax, ecx
mov ecx, dword [ebp - 0x20]
mov dword [eax + 4], edx
cmp esi, 0xff
jne 0x10011c9f
mov edx, dword [ebp + 0x980]
inc ecx
mov esi, dword [ebp + 4]
mov dword [ebp - 0x20], ecx
lea eax, [edx - 0x40]
cmp ecx, eax
jl 0x10011590
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
mov dword [eax + 4], 0
mov eax, dword [ebp + 0x988]
cmp al, 0x52
jne 0x10011614
cmp byte [ebp + 0x989], 0x48
jne 0x1001163d
cmp byte [ebp + 0x98a], 0x44
jne 0x1001163d
cmp byte [ebp + 0x98b], 0x45
jne 0x1001163d
mov esi, 0x25
jmp 0x10011c9f
cmp al, 0x50
jne 0x1001163d
cmp byte [ebp + 0x989], 0x4a
jne 0x1001163d
cmp byte [ebp + 0x98a], 1
jne 0x1001163d
cmp byte [ebp + 0x98b], 7
jne 0x1001163d
mov esi, 0x25
jmp 0x10011c9f
cmp byte [ebp + 0x990], 0x65
jne 0x1001168f
cmp byte [ebp + 0x991], 0x68
jne 0x1001168f
cmp byte [ebp + 0x992], 0x7e
jne 0x1001168f
cmp byte [ebp + 0x993], 0x79
jne 0x1001168f
cmp byte [ebp + 0x994], 0x63
jne 0x1001168f
cmp byte [ebp + 0x995], 0x7e
jne 0x1001168f
cmp byte [ebp + 0x996], 0x65
jne 0x1001168f
cmp byte [ebp + 0x997], 0x6e
jne 0x1001168f
mov esi, 0x25
jmp 0x10011c9f
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
test ebx, ebx
je 0x100117ea
test edx, edx
jl 0x100116e9
jg 0x100116ab
cmp eax, 0x1d
jbe 0x100116e9
push 4
push str..arc
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
jne 0x100116e9
cmp byte [ebp + 0x988], 0x1a
jne 0x100116e9
mov eax, dword [ebp + 0x989]
test al, al
je 0x100116e9
cmp al, 9
ja 0x100116e9
cmp byte [ebp + 0x98a], 0
je 0x100116e9
mov esi, 0x2d
jmp 0x10011c9f
push str..asar
push ebx
call fcn.1015fdf3
add esp, 8
test eax, eax
jne 0x100117ea
push eax
push eax
mov ecx, edi
call fcn.10001920
mov eax, dword [edi]
lea ecx, [ebp + 0x970]
push 0
push 0x10
push ecx
mov ecx, edi
call dword [eax + 0x18]
test eax, eax
je 0x100117ea
cmp dword [ebp + 0x974], 0xc
jb 0x100117ea
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
xor ecx, ecx
cmp ecx, edx
jg 0x100117ea
jl 0x10011750
cmp dword [ebp + 0x974], eax
ja 0x100117ea
cmp dword [ebp + 0x970], 4
jne 0x100117ea
xorps xmm0, xmm0
mov dword [ebp + 0x14], ecx
movq qword [ebp + 0xc], xmm0
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0xc], vtable.CArkAutoByte.0
mov byte [ebp - 4], 8
mov eax, dword [ebp + 0x97c]
mov dword [ebp - 0x14], eax
cmp eax, 0x7fffffff
jae 0x100117e6
push eax
call fcn.101554b7
mov esi, eax
add esp, 4
mov eax, dword [ebp - 0x14]
mov dword [ebp + 0x10], esi
mov dword [ebp + 0x14], eax
test esi, esi
je 0x100117e6
mov eax, dword [edi]
mov ecx, edi
push 0
push dword [ebp + 0x97c]
push esi
call dword [eax + 0x18]
test eax, eax
jne 0x100117c1
push esi
mov byte [ebp - 4], 7
call fcn.10154f5a
add esp, 4
jmp 0x100117ea
cmp byte [esi], 0x7b
jne 0x100117b2
mov eax, dword [ebp + 0x97c]
cmp byte [esi + eax - 1], 0x7d
jne 0x100117b2
push esi
call fcn.10154f5a
add esp, 4
mov esi, 0x37
jmp 0x10011c9f
mov byte [ebp - 4], 7
lea edx, [ebp + 0x10]
mov ecx, edi
call fcn.10056040
test eax, eax
je 0x1001181b
push dword [ebp + 0x14]
xorps xmm0, xmm0
lea edx, [ebp - 0x18]
push dword [ebp + 0x10]
mov ecx, edi
movlpd qword [ebp - 0x18], xmm0
call fcn.10056210
add esp, 8
test al, al
jne 0x10011987
test ebx, ebx
je 0x100119a6
push 4
push str..zip
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
je 0x10011877
push 5
push str..zipx
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
je 0x10011877
push 4
push str..jar
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
je 0x10011877
push 4
push str..lha
push ebx
call fcn.10160c56
add esp, 0xc
test eax, eax
jne 0x100119a6
lea edx, [ebp + 0x10]
mov ecx, edi
call fcn.10056040
test eax, eax
je 0x100119a6
mov ebx, dword [ebp + 0x10]
mov eax, ebx
mov esi, dword [ebp + 0x14]
or eax, esi
jne 0x100118a3
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
cmp eax, 0x16
jmp 0x100118b8
cmp ebx, 4
jne 0x100118c5
test esi, esi
jne 0x100118c5
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
cmp eax, 0x1a
jne 0x100118d4
test edx, edx
jne 0x100118d4
xor esi, esi
jmp 0x10011c9f
mov eax, ebx
or eax, esi
je 0x100118d4
cmp ebx, 4
jne 0x10011927
test esi, esi
jne 0x10011927
mov ecx, ebx
mov eax, esi
add ecx, 4
adc eax, 0
push eax
push ecx
mov ecx, edi
call fcn.10001920
mov eax, dword [edi]
lea ecx, [ebp + 0x96c]
push 0
push 0x12
push ecx
mov ecx, edi
call dword [eax + 0x18]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
mov esi, eax
mov dword [ebp - 0x14], edx
movzx eax, word [ebp + 0x97c]
add eax, 0x16
add eax, ebx
cdq
cmp eax, esi
jne 0x10011924
cmp edx, dword [ebp - 0x14]
jne 0x10011924
xor esi, esi
jmp 0x10011c9f
mov esi, dword [ebp + 0x14]
cmp dword [ebp + 0x988], 0x6064b50
jne 0x1001196c
cmp dword [ebp + 0x99c], 0
jne 0x1001196c
cmp dword [ebp + 0x998], 0
jne 0x1001196c
mov eax, dword [ebp + 0x9a8]
or eax, dword [ebp + 0x9ac]
jne 0x1001196c
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0x28]
call eax
cmp eax, 0x62
jne 0x1001196c
test edx, edx
jne 0x1001196c
xor esi, esi
jmp 0x10011c9f
xorps xmm0, xmm0
lea edx, [ebp - 0x18]
push esi
push ebx
mov ecx, edi
movlpd qword [ebp - 0x18], xmm0
call fcn.100563e0
add esp, 8
test eax, eax
je 0x1001199c
mov edx, dword [ebp - 0x1c]
xor esi, esi
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov dword [edx], eax
mov dword [edx + 4], ecx
jmp 0x10011c9f
mov esi, 1
jmp 0x10011c9f
mov edx, dword [ebp + 0x980]
xor ecx, ecx
mov eax, dword [ebp + 4]
test edx, edx
jle 0x100119c0
cmp byte [eax], 0
jne 0x100119ca
inc ecx
inc eax
cmp ecx, edx
jl 0x100119b5
mov esi, 0x201
jmp 0x10011c9f
mov eax, dword [ebp + 0x988]
cmp al, 0x52
jne 0x100119f9
cmp byte [ebp + 0x989], 0x49
jne 0x10011a22
cmp byte [ebp + 0x98a], 0x46
jne 0x10011a22
cmp byte [ebp + 0x98b], 0x46
jne 0x10011a22
mov esi, 0x202
jmp 0x10011c9f
cmp al, 0x4f
jne 0x10011a22
cmp byte [ebp + 0x989], 0x67
jne 0x10011a22
cmp byte [ebp + 0x98a], 0x67
jne 0x10011a22
cmp byte [ebp + 0x98b], 0x53
jne 0x10011a22
mov esi, 0x208
jmp 0x10011c9f
cmp eax, 0x21544953
je 0x10011a7b
cmp eax, 0x36345453
je 0x10011a7b
cmp eax, 0x30355453
je 0x10011a7b
cmp eax, 0x30365453
je 0x10011a7b
cmp eax, 0x35365453
je 0x10011a7b
cmp eax, 0x6e695453
je 0x10011a7b
cmp eax, 0x32695453
je 0x10011a7b
cmp eax, 0x33695453
je 0x10011a7b
cmp eax, 0x34695453
je 0x10011a7b
push 0x10
lea eax, [ebp + 0x988]
push str.StuffIt__c_1997_
push eax
call fcn.1015d410
add esp, 0xc
test eax, eax
jne 0x10011a85
mov esi, 0x100
jmp 0x10011c9f
push 8
lea eax, [ebp + 0x988]
push 0x101c7614
push eax
call fcn.1015d410
add esp, 0xc
test eax, eax
je 0x10011a7b
push 8
lea eax, [ebp + 0x988]
push str.StuffIt_
push eax
call fcn.1015d410
add esp, 0xc
test eax, eax
je 0x10011a7b
mov eax, dword [ebp + 0x988]
mov ecx, dword [ebp + 0x98a]
mov edx, dword [ebp + 0x989]
cmp al, 0x9a
jne 0x10011b3a
cmp dl, 1
jne 0x10011b5a
test cl, cl
jne 0x10011b5a
cmp byte [ebp + 0x98b], cl
jne 0x10011b5a
cmp byte [ebp + 0x98c], 0x42
jne 0x10011b5a
cmp byte [ebp + 0x98d], 0x41
jne 0x10011b5a
cmp byte [ebp + 0x98e], 0x52
jne 0x10011b5a
cmp byte [ebp + 0x98f], 0x4f
jne 0x10011b5a
cmp byte [ebp + 0x990], 0x50
jne 0x10011b5a
cmp byte [ebp + 0x991], 0x41
jne 0x10011b5a
cmp byte [ebp + 0x992], 0x53
jne 0x10011b5a
cmp byte [ebp + 0x993], 0x53
jne 0x10011b5a
mov esi, 0x101
jmp 0x10011c9f
cmp al, 0x3c
jne 0x10011b5a
cmp dl, 0x68
jne 0x10011b71
cmp cl, 0x74
jne 0x10011b5a
cmp byte [ebp + 0x98b], 0x6d
jne 0x10011b5a
cmp byte [ebp + 0x98c], 0x6c
je 0x10011b8d
cmp al, 0xff
jne 0x10011b97
cmp dl, 0xd8
jne 0x10011b97
cmp cl, al
jne 0x10011b97
mov esi, 0x205
jmp 0x10011c9f
cmp dl, 0x48
jne 0x10011b5a
cmp cl, 0x54
jne 0x10011b5a
cmp byte [ebp + 0x98b], 0x4d
jne 0x10011b5a
cmp byte [ebp + 0x98c], 0x4c
jne 0x10011b5a
mov esi, 0x204
jmp 0x10011c9f
cmp al, 0x89
jne 0x10011c00
cmp dl, 0x50
jne 0x10011c00
cmp cl, 0x4e
jne 0x10011c00
cmp byte [ebp + 0x98b], 0x47
jne 0x10011c00
cmp byte [ebp + 0x98c], 0xd
jne 0x10011c00
cmp byte [ebp + 0x98d], 0xa
jne 0x10011c00
cmp byte [ebp + 0x98e], 0x1a
jne 0x10011c00
cmp byte [ebp + 0x98f], 0xa
jne 0x10011c00
cmp byte [ebp + 0x994], 0x49
jne 0x10011c00
cmp byte [ebp + 0x995], 0x48
jne 0x10011c00
cmp byte [ebp + 0x996], 0x44
jne 0x10011c00
cmp byte [ebp + 0x997], 0x52
jne 0x10011c00
mov esi, 0x206
jmp 0x10011c9f
lea esi, [ebp + 0x988]
cmp dword [esi], 0x38464947
jne 0x10011c26
cmp word [esi + 4], 0x6139
jne 0x10011c20
mov esi, 0x207
jmp 0x10011c9f
mov ecx, dword [ebp + 0x98a]
test al, al
jne 0x10011c5d
test dl, dl
jne 0x10011c5d
test cl, cl
jne 0x10011c5d
cmp byte [ebp + 0x98c], 0x66
jne 0x10011c5d
cmp byte [ebp + 0x98d], 0x74
jne 0x10011c5d
cmp byte [ebp + 0x98e], 0x79
jne 0x10011c5d
cmp byte [ebp + 0x98f], 0x70
jne 0x10011c5d
mov esi, 0x20b
jmp 0x10011c9f
mov ecx, edi
call fcn.10011cc0
test al, al
je 0x10011c6f
mov esi, 0x10b
jmp 0x10011c9f
test ebx, ebx
je 0x10011c9a
push str..zpaq
push ebx
call fcn.1015fdf3
add esp, 8
test eax, eax
jne 0x10011c9a
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x68]
and eax, 1
or eax, 0
je 0x10011c9a
mov esi, 0x2f
jmp 0x10011c9f
mov esi, 0xff
mov eax, dword [ebp + 4]
test eax, eax
je 0x10011caf
push eax
call fcn.10154f5a
add esp, 4
mov eax, esi
jmp 0x100109f1
mov eax, 0x108
jmp 0x100109f1