Function at 0x1000e740
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1017c502
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x101e6040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x20], edi
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x30], eax
test esi, esi
je 0x1001003d
mov al, byte [0x101e6b51]
test al, al
je 0x1000e799
xor al, al
mov byte [0x101e6b51], al
cmp byte [0x101fa7ea], 0
jne 0x1000e7cb
test al, al
je 0x1000e7ad
mov byte [0x101e6b51], 0
push 0x1020
push str.Ark_Library
push str._ARK_Library
push 0
mov byte [0x101fa7ea], 1
call dword [sym.imp.USER32.dll_MessageBoxW]
push 0x2e
push esi
call fcn.101532cb
mov ecx, dword [edi + 4]
add esp, 8
mov esi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
call edx
mov dword [ebp - 0x24], eax
mov edi, edx
mov eax, dword [ebp - 0x20]
add eax, 0x30
mov dword [ebp - 0x18], 0
push 0x400000
push eax
push esi
mov esi, dword [ebp - 0x20]
mov ecx, esi
mov dword [ebp - 0x1c], eax
mov dword [eax], 0
mov dword [eax + 4], 0
lea eax, [ebp - 0x18]
push dword [esi + 4]
mov dword [ebp - 0x14], 0
push eax
call fcn.10010570
mov ecx, dword [esi + 4]
push 0
mov dword [esi + 0x38], eax
push edi
mov eax, dword [ecx]
push dword [ebp - 0x24]
call dword [eax + 0x20]
mov edi, esi
mov eax, dword [edi + 0x38]
cmp eax, 7
je 0x1000e852
cmp eax, 9
je 0x1000e852
cmp eax, 4
je 0x1000e852
cmp eax, 0x1a
je 0x1000e852
cmp eax, 0xf
jne 0x1000e867
cmp dword [edi + 0xcc], 0
jne 0x1000e867
mov dword [edi + 0x3c], 0xa0000044
jmp 0x1001003d
cmp eax, 1
jne 0x1000e878
mov dword [edi + 0x3c], 0xa0000061
jmp 0x1001003d
cmp eax, 0xff
jne 0x1000e8a0
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x1000e894
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0x14]
mov dword [edi + 0x40], eax
jmp 0x1001003d
mov dword [edi + 0x3c], 0xa0000049
jmp 0x1001003d
jg 0x1000fdfa
cmp eax, 0x38
ja case.0x1000e8af.1
jmp dword [eax*4 + 0x1001005c]
push 0x8a0
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x8a0
push 0
push esi
mov dword [ebp - 4], 0
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10022e80
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 8], eax
jmp 0x1000fe8b
push 0x818
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x818
push 0
push esi
mov dword [ebp - 4], 1
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 2
mov dword [esi], vtable.CArkUnAlz.1.0
mov dword [esi + 4], vtable.CArkUnAlz.0
jmp 0x1000fe7a
push 0xca0
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0xca0
push 0
push esi
mov dword [ebp - 4], 3
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
lea ecx, [esi + 0x81c]
mov dword [esi], vtable.CArkUnBond.1.0
mov dword [esi + 4], vtable.CArkUnBond.0
call fcn.10026460
mov dword [esi + 0x878], 0
xorps xmm0, xmm0
mov dword [esi + 0x860], 0
mov dword [esi + 0x864], 0
mov dword [esi + 0x858], 0
movups xmmword [esi + 0x868], xmm0
mov eax, dword [esi + 0x878]
test eax, eax
je 0x1000e9d0
push 0x404
push eax
call fcn.10151441
add esp, 8
push 0x400
lea eax, [esi + 0x87c]
mov dword [esi + 0x878], 0
push 0
push eax
call fcn.10152e30
add esp, 0xc
mov dword [esi + 0xc7c], 0
mov byte [ebp - 4], 6
xorps xmm0, xmm0
mov dword [esi + 0x818], 0
movups xmmword [esi + 0xc90], xmm0
movups xmmword [esi + 0xc80], xmm0
jmp 0x1000fe7a
push 0x818
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x818
push 0
push esi
mov dword [ebp - 4], 7
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 8
mov dword [esi], vtable.CArkUnGzip.1.0
mov dword [esi + 4], vtable.CArkUnGzip.0
jmp 0x1000fe7a
push 0x818
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x818
push 0
push esi
mov dword [ebp - 4], 9
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0xa
mov dword [esi], vtable.CArkUnBzip2.1.0
mov dword [esi + 4], vtable.CArkUnBzip2.0
jmp 0x1000fe7a
push 0x818
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x818
push 0
push esi
mov dword [ebp - 4], 0xb
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0xc
mov dword [esi], vtable.CArkUnLzma.1.0
mov dword [esi + 4], vtable.CArkUnLzma.0
jmp 0x1000fe7a
push 0x828
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x828
push 0
push esi
mov dword [ebp - 4], 0xd
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0xe
mov dword [esi], vtable.CArkUnBH.1.0
mov dword [esi + 4], vtable.CArkUnBH.0
jmp 0x1000fe7a
push 0x8e0
call fcn.1015144f
mov edi, eax
mov dword [ebp - 0x1c], edi
push 0x8e0
push 0
push edi
mov dword [ebp - 4], 0xf
call fcn.10152e30
mov esi, dword [ebp - 0x20]
add esp, 0x10
add esi, 0x68
mov ecx, edi
push esi
call fcn.10074f10
mov dword [edi], vtable.CArkUnEgg.2.0
mov dword [edi + 4], vtable.CArkUnEgg.1.0
mov dword [edi + 0x818], 0x101c8604
mov dword [edi + 0x8c8], 0
mov dword [edi + 0x8cc], 0
mov dword [edi + 0x8d0], 0
mov dword [edi + 0x8d4], 0
mov byte [ebp - 4], 0x11
mov ecx, edi
mov eax, dword [esi + 0x14]
mov dword [edi + 0x8dc], eax
call fcn.10057120
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 8], edi
mov edi, eax
jmp 0x1000fe8b
push 0x820
call fcn.1015144f
mov edi, eax
mov dword [ebp - 0x1c], edi
push 0x820
push 0
push edi
mov dword [ebp - 4], 0x12
call fcn.10152e30
add esp, 0x10
mov eax, dword [ebp - 0x20]
lea esi, [edi + 8]
add eax, 0x68
mov ecx, esi
push eax
call fcn.10056bf0
mov byte [ebp - 4], 0x14
mov ecx, esi
mov dword [edi], vtable.CArkUnTar.2.0
mov dword [esi], vtable.CArkUnTar.1.0
mov dword [edi + 0xc], vtable.CArkUnTar.0
call fcn.10057120
mov edi, dword [ebp - 0x20]
jmp 0x1000fe81
push 0x1bb0
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x1bb0
push 0
push esi
mov dword [ebp - 4], 0x15
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x16
lea ecx, [esi + 0x830]
mov dword [esi + 0x818], 0x101c8828
mov dword [esi], vtable.CArkUnRar.2.0
mov dword [esi + 4], vtable.CArkUnRar.1.0
mov dword [esi + 0x818], 0x101c8834
call fcn.100aebd0
lea ecx, [esi + 0x1160]
mov byte [ebp - 4], 0x17
call fcn.100aebd0
push 4
push 0x3000
push 0x10000
push 0
mov dword [esi + 0x1aa0], 0x10000
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [esi + 0x1aa4], eax
test eax, eax
je 0x1000ecd3
mov eax, 0x10000
xor ecx, ecx
jmp 0x1000ece1
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x1aa8], eax
mov dword [esi + 0x1aac], ecx
mov dword [esi + 0x1ab0], 0
mov dword [esi + 0x1ab4], 0
mov dword [esi + 0x1ab8], 0
mov dword [esi + 0x1abc], 0
mov dword [esi + 0x1ac0], 0
mov dword [esi + 0x1ac4], 0
push 0x30
lea eax, [esi + 0x1ac8]
push 0
push eax
call fcn.10152e30
push 0xa0
lea eax, [esi + 0x1b08]
push 0
push eax
call fcn.10152e30
add esp, 0x18
mov byte [ebp - 4], 0x1a
mov dword [esi + 0x1ba8], 0
jmp 0x1000fe7a
push 0x1c30
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x1c30
push 0
push esi
mov dword [ebp - 4], 0x1b
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov dword [esi + 0x818], 0x101c8828
xorps xmm0, xmm0
mov dword [esi], vtable.CArkUnRar5.2.0
mov dword [esi + 4], vtable.CArkUnRar5.1.0
mov dword [esi + 0x818], 0x101c88e4
movups xmmword [esi + 0x820], xmm0
movq qword [esi + 0x830], xmm0
mov dword [esi + 0x840], 0
mov dword [esi + 0x838], 0
mov dword [esi + 0x844], 0
mov dword [esi + 0x848], 0
mov byte [ebp - 4], 0x1d
lea ecx, [esi + 0x87c]
movups xmmword [esi + 0x850], xmm0
movq qword [esi + 0x860], xmm0
call fcn.100aebd0
lea ecx, [esi + 0x11b0]
mov byte [ebp - 4], 0x1e
call fcn.100aebd0
push 4
push 0x3000
push 0x10000
push 0
mov dword [esi + 0x1ae8], 0x10000
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [esi + 0x1aec], eax
test eax, eax
je 0x1000ee4c
mov eax, 0x10000
xor ecx, ecx
jmp 0x1000ee5a
xorps xmm0, xmm0
movlpd qword [ebp - 0x28], xmm0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x1af0], eax
mov dword [esi + 0x1af4], ecx
mov dword [esi + 0x1af8], 0
mov dword [esi + 0x1afc], 0
mov dword [esi + 0x1b00], 0
mov dword [esi + 0x1b04], 0
mov dword [esi + 0x1b08], 0
mov dword [esi + 0x1b0c], 0
push 0x38
lea eax, [esi + 0x1b10]
push 0
push eax
call fcn.10152e30
push 0x30
lea eax, [esi + 0x1b50]
push 0
push eax
call fcn.10152e30
push 0xa0
lea eax, [esi + 0x1b88]
push 0
push eax
call fcn.10152e30
add esp, 0x24
mov byte [ebp - 4], 0x21
mov dword [esi + 0x878], 0
jmp 0x1000fe7a
push 0x828
call fcn.1015144f
mov edi, eax
mov dword [ebp - 0x1c], edi
push 0x828
push 0
push edi
mov dword [ebp - 4], 0x22
call fcn.10152e30
mov ecx, dword [ebp - 0x20]
add esp, 0x10
add ecx, 0x68
push ecx
mov ecx, edi
call fcn.10056bf0
mov byte [ebp - 4], 0x23
lea esi, [edi + 0x818]
mov dword [edi], vtable.CArkUnWim.1.0
mov dword [edi + 4], vtable.CArkUnWim.0
mov dword [ebp - 0x24], esi
push 0x30
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.1015144f
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi], eax
mov ecx, edi
mov byte [ebp - 4], 0x24
call fcn.10057120
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 8], edi
mov edi, eax
jmp 0x1000fe8b
push 0x6cac8
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x6cac8
push 0
push esi
mov dword [ebp - 4], 0x25
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x26
mov ecx, esi
mov dword [esi], vtable.CArkUnZ.1.0
mov dword [esi + 4], vtable.CArkUnZ.0
call fcn.10057120
lea eax, [esi + 0x1468]
mov dword [esi + 0x44a8c], eax
lea eax, [esi + 0x9468]
mov dword [esi + 0x44a90], eax
lea eax, [esi + 0x11468]
mov dword [esi + 0x44a94], eax
lea eax, [esi + 0x19468]
mov dword [esi + 0x44a98], eax
lea eax, [esi + 0x21468]
mov dword [esi + 0x44a9c], eax
lea eax, [esi + 0x29468]
mov dword [esi + 0x44aa0], eax
lea eax, [esi + 0x31468]
mov dword [esi + 0x44aa4], eax
lea eax, [esi + 0x39468]
mov dword [esi + 0x44aa8], eax
lea eax, [esi + 0x41468]
mov dword [esi + 0x44aac], eax
lea eax, [esi + 0x44ab0]
mov dword [esi + 0x6cab0], eax
lea eax, [esi + 0x4cab0]
mov dword [esi + 0x6cab4], eax
lea eax, [esi + 0x54ab0]
mov dword [esi + 0x6cab8], eax
lea eax, [esi + 0x5cab0]
mov dword [esi + 0x6cabc], eax
lea eax, [esi + 0x64ab0]
mov dword [esi + 0x6cac0], eax
jmp 0x1000fe81
push 0x3c58
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x3c58
push 0
push esi
mov dword [ebp - 4], 0x27
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov dword [esi], vtable.CArkUnArj.1.0
mov dword [esi + 4], vtable.CArkUnArj.0
mov byte [esi + 0x3c44], 0
mov dword [esi + 0x3c48], 0
mov dword [esi + 0x3c4c], 0
mov dword [esi + 0x3c50], 0
mov byte [ebp - 4], 0x29
mov dword [esi + 0x818], 0
mov dword [esi + 0x3c3c], 0
mov dword [esi + 0x3c34], 0
mov dword [esi + 0x3c38], 0
jmp 0x1000fe7a
push 0x818
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x818
push 0
push esi
mov dword [ebp - 4], 0x2a
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x2b
mov dword [esi], vtable.CArkUnBam.1.0
mov dword [esi + 4], vtable.CArkUnBam.0
jmp 0x1000fe7a
push 0x830
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x830
push 0
push esi
mov dword [ebp - 4], 0x2c
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10037fb0
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 8], eax
jmp 0x1000fe8b
push 0x868
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x868
push 0
push esi
mov dword [ebp - 4], 0x2d
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov dword [esi + 0x818], 0x101c8c50
mov dword [esi + 0x820], 0x800
mov dword [esi + 0x824], 0
mov dword [esi], vtable.CArkUnIsz.2.0
mov dword [esi + 4], vtable.CArkUnIsz.1.0
mov dword [esi + 0x818], 0x101c8c80
mov dword [esi + 0x830], 0
mov dword [esi + 0x834], 0
mov dword [esi + 0x838], 0
mov dword [esi + 0x83c], 0
mov byte [ebp - 4], 0x30
jmp 0x1000fe7a
push 0x840
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x840
push 0
push esi
mov dword [ebp - 4], 0x31
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov dword [esi + 0x818], 0x101c8c50
mov dword [esi + 0x820], 0x800
mov dword [esi + 0x824], 0
mov byte [ebp - 4], 0x33
mov dword [esi], vtable.CArkUnBin.2.0
mov dword [esi + 4], vtable.CArkUnBin.1.0
mov dword [esi + 0x818], 0x101c8d4c
jmp 0x1000fe7a
push 0x850
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x850
push 0
push esi
mov dword [ebp - 4], 0x34
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov dword [esi + 0x818], 0x101c8c50
mov dword [esi + 0x820], 0x800
mov dword [esi + 0x824], 0
mov dword [esi], vtable.CArkUnImg.2.0
mov dword [esi + 4], vtable.CArkUnImg.1.0
mov dword [esi + 0x818], 0x101c8e18
mov dword [esi + 0x830], 0
mov dword [esi + 0x834], 0
mov dword [esi + 0x838], 0
mov dword [esi + 0x83c], 0
mov byte [ebp - 4], 0x37
jmp 0x1000fe7a
push 0x968
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x968
push 0
push esi
mov dword [ebp - 4], 0x38
call fcn.10152e30
add esp, 0x10
push 0
lea eax, [edi + 0x68]
mov ecx, esi
push eax
call fcn.10039e30
lea ecx, [eax + 8]
neg eax
mov dword [ebp - 4], 0xffffffff
sbb eax, eax
and eax, ecx
mov dword [edi + 8], eax
jmp 0x1000fe8b
push 0x968
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x968
push 0
push esi
mov dword [ebp - 4], 0x39
call fcn.10152e30
add esp, 0x10
push 1
jmp 0x1000f355
push 0x8f8
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x8f8
push 0
push esi
mov dword [ebp - 4], 0x3a
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10074f10
mov dword [esi], vtable.CArkUnAce.2.0
mov dword [esi + 4], vtable.CArkUnAce.1.0
mov dword [esi + 0x818], 0x101c8fb8
mov dword [esi + 0x8c8], 0
mov dword [esi + 0x8cc], 0
mov dword [esi + 0x8d0], 0
mov dword [esi + 0x8d4], 0
mov dword [esi + 0x8d8], 0
mov dword [esi + 0x8e0], 0
mov dword [esi + 0x8e4], 0
mov dword [esi + 0x8e8], 0
mov dword [esi + 0x8f0], 0
mov byte [ebp - 4], 0x3c
jmp 0x1000fe7a
push 0x830
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x830
push 0
push esi
mov dword [ebp - 4], 0x3d
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x3e
xorps xmm0, xmm0
mov dword [esi], vtable.CArkUnZStd.1.0
mov dword [esi + 4], vtable.CArkUnZStd.0
movups xmmword [esi + 0x818], xmm0
jmp 0x1000fe7a
push 0x818
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x818
push 0
push esi
mov dword [ebp - 4], 0x3f
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x40
mov dword [esi], vtable.CArkUnBrotli.1.0
mov dword [esi + 4], vtable.CArkUnBrotli.0
jmp 0x1000fe7a
push 0x1938
call fcn.1015144f
mov edi, eax
mov dword [ebp - 0x1c], edi
push 0x1938
push 0
push edi
mov dword [ebp - 4], 0x41
call fcn.10152e30
mov esi, dword [ebp - 0x20]
add esp, 0x10
add esi, 0x68
mov ecx, edi
push esi
call fcn.10056bf0
mov dword [edi], vtable.CArkUnDaa.1.0
mov dword [edi + 4], vtable.CArkUnDaa.0
mov dword [edi + 0x820], 0
mov dword [edi + 0x818], 0x101ca9f0
mov dword [edi + 0x81c], 0x101ca9e8
mov dword [edi + 0x824], 0
mov dword [edi + 0x828], 0
mov dword [edi + 0x82c], 0
mov dword [edi + 0x830], 0
mov dword [edi + 0x834], 0
mov dword [edi + 0x854], 0
push esi
lea ecx, [edi + 0x880]
mov byte [ebp - 4], 0x43
call fcn.10037fb0
push esi
lea ecx, [edi + 0x10b0]
mov byte [ebp - 4], 0x44
call fcn.100492e0
mov byte [ebp - 4], 0x45
mov ecx, edi
mov dword [edi + 0x1930], 0
mov dword [edi + 0x1934], 0
call fcn.10057120
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 8], edi
mov edi, eax
jmp 0x1000fe8b
push 0x820
call fcn.1015144f
mov edi, eax
mov dword [ebp - 0x1c], edi
push 0x820
push 0
push edi
mov dword [ebp - 4], 0x46
call fcn.10152e30
mov eax, dword [ebp - 0x20]
add esp, 0x10
mov ecx, edi
mov esi, dword [eax + 0x38]
add eax, 0x68
push eax
call fcn.10056bf0
mov byte [ebp - 4], 0x47
mov ecx, edi
mov dword [edi], vtable.CArkUnUU.1.0
mov dword [edi + 4], vtable.CArkUnUU.0
mov dword [edi + 0x818], esi
call fcn.10057120
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 8], edi
mov edi, eax
jmp 0x1000fe8b
push 0x9e8
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x9e8
push 0
push esi
mov dword [ebp - 4], 0x48
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x49
mov dword [esi], vtable.CArkUnPea.1.0
mov dword [esi + 4], vtable.CArkUnPea.0
jmp 0x1000fe7a
push 0x830
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x830
push 0
push esi
mov dword [ebp - 4], 0x4a
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x4b
mov dword [esi], vtable.CArkUnAsar.1.0
mov dword [esi + 4], vtable.CArkUnAsar.0
jmp 0x1000fe7a
push 0x82c
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x82c
push 0
push esi
mov dword [ebp - 4], 0x4c
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x4d
mov dword [esi], vtable.CArkUnLz4.1.0
mov dword [esi + 4], vtable.CArkUnLz4.0
mov dword [esi + 0x818], 0
mov dword [esi + 0x81c], 0
mov dword [esi + 0x820], 0
mov dword [esi + 0x824], 0
mov dword [esi + 0x828], 0
jmp 0x1000fe7a
push 0x840
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x840
push 0
push esi
mov dword [ebp - 4], 0x4e
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x4f
mov dword [esi], vtable.CArkUnJ2J.1.0
mov dword [esi + 4], vtable.CArkUnJ2J.0
mov dword [esi + 0x818], 0
jmp 0x1000fe7a
push 0x840
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x840
push 0
push esi
mov dword [ebp - 4], 0x50
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x51
mov dword [esi], vtable.CArkUnJ2J.1.0
mov dword [esi + 4], vtable.CArkUnJ2J.0
mov dword [esi + 0x818], 1
jmp 0x1000fe7a
push 0x818
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x818
push 0
push esi
mov dword [ebp - 4], 0x52
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x53
mov dword [esi], vtable.CArkUnK2K.1.0
mov dword [esi + 4], vtable.CArkUnK2K.0
jmp 0x1000fe7a
push 0xc30
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0xc30
push 0
push esi
mov dword [ebp - 4], 0x54
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x55
mov ecx, esi
mov dword [esi + 0x818], 0x101c7aa8
mov dword [esi], vtable.CArkUnLzh.2.0
mov dword [esi + 4], vtable.CArkUnLzh.1.0
mov dword [esi + 0x818], 0x101c7ab0
call fcn.10057120
xor ecx, ecx
lea edx, [esi + 0x82c]
mov eax, ecx
test cl, 1
je 0x1000f89d
xor eax, 0x14002
shr eax, 1
test al, 1
je 0x1000f8a8
xor eax, 0x14002
shr eax, 1
test al, 1
je 0x1000f8b3
xor eax, 0x14002
shr eax, 1
test al, 1
je 0x1000f8be
xor eax, 0x14002
shr eax, 1
test al, 1
je 0x1000f8c9
xor eax, 0x14002
shr eax, 1
test al, 1
je 0x1000f8d4
xor eax, 0x14002
shr eax, 1
test al, 1
je 0x1000f8df
xor eax, 0x14002
shr eax, 1
test al, 1
je 0x1000f8ea
xor eax, 0x14002
shr eax, 1
inc ecx
mov dword [edx], eax
add edx, 4
cmp ecx, 0xff
jbe 0x1000f891
jmp 0x1000fe81
push 0x920
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x920
push 0
push esi
mov dword [ebp - 4], 0x56
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10074f10
mov dword [esi], vtable.CArkUnCab.2.0
mov dword [esi + 4], vtable.CArkUnCab.1.0
mov dword [esi + 0x818], 0x101c9694
mov dword [esi + 0x8c8], 0
mov dword [esi + 0x8cc], 0
mov dword [esi + 0x8d0], 0
mov dword [esi + 0x8d4], 0
mov dword [esi + 0x8e8], 0
mov dword [esi + 0x8ec], 0
mov dword [esi + 0x8f0], 0
mov dword [esi + 0x8f4], 0
mov byte [ebp - 4], 0x59
jmp 0x1000fe7a
push 0x858
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x858
push 0
push esi
mov dword [ebp - 4], 0x5a
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov dword [esi], vtable.CArkUnCompound.1.0
mov dword [esi + 4], vtable.CArkUnCompound.0
mov dword [esi + 0x81c], 0
mov dword [esi + 0x820], 0
mov dword [esi + 0x824], 0
mov dword [esi + 0x828], 0
mov dword [esi + 0x82c], 0
mov dword [esi + 0x830], 0
mov dword [esi + 0x834], 0
mov dword [esi + 0x838], 0
mov byte [ebp - 4], 0x5d
jmp 0x1000fe7a
push 0x818
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x818
push 0
push esi
mov dword [ebp - 4], 0x5e
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x5f
mov dword [esi], vtable.CArkUnLzip.1.0
mov dword [esi + 4], vtable.CArkUnLzip.0
jmp 0x1000fe7a
push 0x818
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x818
push 0
push esi
mov dword [ebp - 4], 0x60
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x61
mov dword [esi], vtable.CArkUnArc.1.0
mov dword [esi + 4], vtable.CArkUnArc.0
jmp 0x1000fe7a
push 0x878
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x878
push 0
push esi
mov dword [ebp - 4], 0x62
call fcn.10152e30
add esp, 0x10
push 0
lea eax, [edi + 0x68]
mov ecx, esi
push eax
call fcn.10047ef0
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 8], eax
jmp 0x1000fe8b
push 0x878
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x878
push 0
push esi
mov dword [ebp - 4], 0x63
call fcn.10152e30
add esp, 0x10
push 1
jmp 0x1000faed
push 0x818
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x818
push 0
push esi
mov dword [ebp - 4], 0x64
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x65
mov dword [esi], vtable.CArkUnSplit.1.0
mov dword [esi + 4], vtable.CArkUnSplit.0
jmp 0x1000fe7a
push 0x880
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x880
push 0
push esi
mov dword [ebp - 4], 0x66
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.100492e0
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 8], eax
jmp 0x1000fe8b
push 0x8a8
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0x67
push 0x8a8
push 0
push esi
call fcn.10152e30
add esp, 0x10
lea eax, [edi + 0x68]
mov ecx, esi
push 0x101c9b9c
push eax
call fcn.1004b320
lea ecx, [eax + 0x18]
jmp 0x1000f363
push 0x8a8
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0x68
jmp 0x1000fbce
push 0x8a8
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0x69
jmp 0x1000fbce
push 0x8a8
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x8a8
push 0
push esi
mov dword [ebp - 4], 0x6a
call fcn.10152e30
add esp, 0x10
lea eax, [edi + 0x68]
mov ecx, esi
push 0x101c9b8c
push eax
call fcn.1004b320
lea ecx, [eax + 0x18]
jmp 0x1000f363
push 0x8a8
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x8a8
push 0
push esi
mov dword [ebp - 4], 0x6b
call fcn.10152e30
add esp, 0x10
lea eax, [edi + 0x68]
mov ecx, esi
push 0x101c9b7c
push eax
call fcn.1004b320
lea ecx, [eax + 0x18]
jmp 0x1000f363
push 0x860
call fcn.1015144f
mov edi, eax
mov dword [ebp - 0x24], edi
push 0x860
push 0
push edi
mov dword [ebp - 4], 0x6c
call fcn.10152e30
mov edx, dword [ebp - 0x1c]
add esp, 0x10
mov eax, dword [ebp - 0x20]
mov ecx, edi
add eax, 0x68
mov esi, dword [edx]
push eax
call fcn.10056bf0
mov dword [edi], vtable.CArkUnNSIS.1.0
mov dword [edi + 4], vtable.CArkUnNSIS.0
mov dword [edi + 0x818], 0
mov dword [edi + 0x830], 0
mov dword [edi + 0x82c], 0
mov word [edi + 0x81c], 0
mov byte [edi + 0x81e], 0
mov dword [edi + 0x840], 0
mov dword [edi + 0x834], 0
mov dword [edi + 0x838], 0
mov dword [edi + 0x83c], 0
mov dword [edi + 0x820], 0
mov dword [edi + 0x824], 0
mov dword [edi + 0x828], 0x270f
mov dword [edi + 0x848], 0
mov dword [edi + 0x84c], 0
mov dword [edi + 0x850], 0
mov dword [edi + 0x854], 0
mov dword [edi + 0x858], 0
mov byte [ebp - 4], 0x6e
mov ecx, edi
mov dword [edi + 0x85c], esi
call fcn.10057120
mov eax, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + 8], edi
mov edi, eax
jmp 0x1000fe8b
push 0x820
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x820
push 0
push esi
mov dword [ebp - 4], 0x6f
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x70
mov dword [esi], vtable.CArkUnAesCrypt.1.0
mov dword [esi + 4], vtable.CArkUnAesCrypt.0
jmp 0x1000fe7a
mov ecx, eax
sub ecx, 0x100
je case.0x1000e8af.1
sub ecx, 1
je case.0x1000e8af.1
sub ecx, 0xb
je 0x1000fe38
cmp eax, 0x200
jl case.0x1000e8af.1
cmp eax, 0x20b
jg case.0x1000e8af.1
mov dword [edi + 0x3c], 0xa0000058
jmp 0x1001003d
push 0x818
call fcn.1015144f
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0x818
push 0
push esi
mov dword [ebp - 4], 0x71
call fcn.10152e30
add esp, 0x10
lea ecx, [edi + 0x68]
push ecx
mov ecx, esi
call fcn.10056bf0
mov byte [ebp - 4], 0x72
mov dword [esi], vtable.CArkUnAr.1.0
mov dword [esi + 4], vtable.CArkUnAr.0
mov ecx, esi
call fcn.10057120
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 8], esi
mov ecx, dword [edi + 8]
test ecx, ecx
jne 0x1000fe9e
mov dword [edi + 0x3c], 0xa0000013
jmp 0x1001003d
mov edx, dword [ebp - 0x30]
test edx, edx
je 0x1000feae
mov eax, dword [ecx]
push edx
call dword [eax + 0x2c]
mov ecx, dword [edi + 8]
mov edx, dword [ebp - 0x34]
test edx, edx
je 0x1000febe
push dword [edi + 0x50]
mov eax, dword [ecx]
push edx
call dword [eax + 0x28]
mov ecx, dword [edi + 8]
sub esp, 0x10
movups xmm0, xmmword [edi + 0x44]
mov eax, esp
mov edx, dword [ecx]
movups xmmword [eax], xmm0
call dword [edx + 0x20]
mov ecx, dword [edi + 8]
push dword [edi + 0x38]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [edi + 8]
push 0
push fcn.1001aa90
mov eax, dword [ecx]
call dword [eax + 0x34]
mov ecx, dword [edi + 8]
push dword [edi + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov ecx, dword [edi + 8]
push dword [edi + 0x34]
push dword [edi + 0x30]
mov eax, dword [ecx]
push dword [edi + 4]
mov eax, dword [eax + 4]
call eax
mov esi, eax
mov eax, dword [edi + 4]
test eax, eax
je 0x1000ff20
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [edi + 4], 0
test esi, esi
jne 0x1000ffd9
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
cmp dword [eax + 8], esi
jne 0x1000ffd9
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
cmp eax, 0xa0000017
je 0x1000ffd9
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
cmp eax, 0xa0000020
je 0x1000ffd9
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
cmp eax, 0xa0000021
je 0x1000ffd9
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
cmp eax, 0xa0000046
je 0x1000ffd9
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
cmp eax, 0xa0000044
je 0x1000ffd9
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
cmp eax, 0xa0000013
je 0x1000ffd9
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
cmp eax, 0xa0000053
je 0x1000ffd9
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
cmp eax, 0xa0000057
je 0x1000ffd9
mov ecx, dword [edi + 8]
push dword [edi + 0x30]
push dword [ebp - 0x2c]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov esi, eax
push dword [ebp - 0x2c]
call fcn.101565d5
mov ecx, dword [edi + 8]
add esp, 4
mov dword [edi + 0x10], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
mov ecx, dword [edi + 8]
mov dword [edi + 0x1c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov dword [edi + 0x20], eax
test esi, esi
jne 0x1001002f
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov dword [edi + 0x3c], eax
cmp eax, 0xa0000017
je 0x1001003d
mov ecx, dword [edi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
cmp dword [eax + 8], esi
je 0x1001003d
mov dword [edi + 0x18], 1
mov eax, 1
jmp 0x1001003f
mov dword [edi + 0x3c], 0xa0000048
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10151433
mov esp, ebp
pop ebp
ret 0xc