Function at 0x456590
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5efa15
mov eax, dword fs:[0]
push eax
sub esp, 0x358
push ebx
push esi
push edi
mov eax, dword [0x65bf90]
xor eax, esp
push eax
lea eax, [esp + 0x368]
mov dword fs:[0], eax
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x10c], eax
xor ebx, ebx
or eax, ecx
mov dword [esp + 0x110], ecx
jne 0x4565f1
mov dword [esp + 0x10c], 1
mov dword [esp + 0x110], eax
mov dword [esp + 0x18], ebx
mov esi, dword [ebp + 0x20]
lea ecx, [esp + 0x18]
push ecx
mov dword [esp + 0x374], ebx
mov eax, dword [esi]
mov edx, dword [eax]
push 0x62b140
push esi
call edx
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0x20]
push ecx
mov byte [esp + 0x374], 1
mov eax, dword [esi]
mov edx, dword [eax]
push 0x62b100
push esi
call edx
mov edi, dword [ebp + 0xc]
cmp edi, ebx
je 0x4566e4
mov ebx, dword [edi + 0xec]
mov eax, dword [edi + 0xe8]
mov dword [esp + 0x1b4], eax
test ebx, ebx
jne 0x456657
test eax, eax
je 0x4566e4
mov eax, dword [ebp + 0x24]
cmp byte [eax + 0x2a], 0
jne 0x4566e4
mov esi, dword [ebp + 8]
mov ecx, dword [esi]
mov edx, dword [ecx + 0x10]
push 0
push 0
push 0
push 0
push esi
call edx
test eax, eax
jne 0x456693
mov ecx, dword [ebp + 0x1c]
push eax
mov eax, dword [esp + 0x1b8]
push ebx
push eax
push ecx
mov ecx, esi
call fcn.00454930
add esp, 0x10
mov esi, eax
test esi, esi
je 0x4566e4
mov byte [esp + 0x370], 0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4566b1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4566cc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, esi
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ebx, ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], ebx
mov byte [esp + 0x52], bl
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov byte [esp + 0x370], 4
mov byte [esp + 0x37], bl
cmp edi, ebx
je 0x456b45
mov esi, dword [edi + 0x5c]
push ebx
call fcn.004ba2af
xor ecx, ecx
add esp, 4
mov eax, esi
mov edx, 4
mul edx
seto cl
mov dword [esp + 0x24], ebx
neg ecx
or ecx, eax
push ecx
call fcn.004ba2ba
add esp, 4
xor ecx, ecx
mov dword [esp + 0x24], eax
cmp dword [edi + 0x5c], ebx
jbe 0x45677d
lea esp, [esp]
mov dword [eax + ecx*4], 0xffffffff
inc ecx
cmp ecx, dword [edi + 0x5c]
jb 0x456770
mov esi, dword [ebp + 0x10]
xor ecx, ecx
cmp dword [esi + 4], ebx
jbe 0x45679c
mov edx, dword [esi]
mov edx, dword [edx + ecx*4]
mov edx, dword [edx]
cmp edx, 0xffffffff
je 0x456796
mov dword [eax + edx*4], ecx
inc ecx
cmp ecx, dword [esi + 4]
jb 0x456787
xor ebx, ebx
mov dword [esp + 0x38], ebx
cmp dword [edi + 4], ebx
jbe 0x456b43
jmp 0x4567b0
mov eax, dword [edi + 0x24]
mov ecx, dword [eax + ebx*4]
mov eax, dword [edi + 0x118]
mov eax, dword [eax + ebx*4]
xor edx, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x104], edx
mov dword [esp + 0x108], edx
cmp ecx, edx
jbe 0x456b35
mov ecx, dword [esp + 0x24]
lea esi, [ecx + eax*4]
mov ecx, dword [edi + 0x58]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
cmp byte [eax + 0x10], 0
je 0x456828
mov ecx, dword [esi]
inc edx
test ecx, ecx
js 0x456828
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
mov ecx, dword [ebx + ecx*4]
cmp byte [ecx + 0x38], 0
mov ebx, dword [esp + 0x38]
jne 0x456828
mov ecx, dword [eax]
inc dword [esp + 0x10]
add dword [esp + 0x104], ecx
mov ecx, dword [eax + 4]
adc dword [esp + 0x108], ecx
add eax, 0x18
add esi, 4
cmp edx, dword [esp + 0xc0]
jb 0x4567f2
cmp dword [esp + 0x10], 0
je 0x456b35
xor esi, esi
mov dword [esp + 0x16c], esi
mov dword [esp + 0x170], esi
mov dword [esp + 0x174], esi
mov dword [esp + 0x178], esi
mov dword [esp + 0x17c], esi
mov dword [esp + 0x180], esi
mov byte [esp + 0x370], 5
mov eax, dword [edi + 0x38]
mov ecx, dword [eax + ebx*4]
mov edx, dword [edi + 0x3c]
mov eax, dword [eax + ebx*4 + 4]
add edx, ecx
sub eax, ecx
mov dword [esp + 0x114], edx
lea edx, [esp + 0x16c]
mov dword [esp + 0x118], eax
push edx
lea eax, [esp + 0x118]
mov dword [esp + 0x120], esi
call fcn.00436190
mov eax, dword [esp + 0x118]
sub eax, dword [esp + 0x11c]
jne 0x456ba7
mov eax, dword [edi + 0x34]
movzx ecx, byte [eax + ebx]
mov edx, dword [esp + 0x170]
xor eax, eax
mov dword [esp + 0x184], ecx
cmp edx, esi
jbe 0x4568fb
mov ecx, dword [esp + 0x16c]
cmp dword [ecx], 0x6f10701
jne 0x4568f3
cmp dword [ecx + 4], esi
je 0x456947
inc eax
add ecx, 0x18
cmp eax, edx
jb 0x4568e6
mov byte [esp + 0x53], 0
lea edx, [esp + 0x54]
push edx
lea esi, [esp + 0x170]
call fcn.00454810
add esp, 4
mov dword [esp + 0x64], eax
cmp eax, dword [esp + 0x40]
jb 0x4569df
push 0x18
call fcn.004ba280
add esp, 4
test eax, eax
je 0x45694e
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov edi, eax
jmp 0x456950
mov byte [esp + 0x53], 1
jmp 0x456900
xor edi, edi
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x44]
jne 0x4569be
mov eax, dword [esp + 0x44]
mov ecx, eax
shr ecx, 2
lea esi, [ecx + eax + 1]
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ba2ba
add esp, 4
cmp dword [esp + 0x40], 0
mov ebx, eax
je 0x4569a5
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea ecx, [eax*4]
push ecx
push edx
push ebx
call fcn.005c27a0
add esp, 0xc
mov eax, dword [esp + 0x3c]
push eax
call fcn.004ba2af
mov eax, dword [esp + 0x44]
add esp, 4
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], esi
mov ecx, dword [esp + 0x3c]
mov dword [ecx + eax*4], edi
inc eax
mov dword [esp + 0x40], eax
cmp dword [esp + 0x64], eax
jae 0x456922
mov ebx, dword [esp + 0x38]
mov edi, dword [ebp + 0xc]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x3c]
mov esi, dword [edx + eax*4]
mov eax, dword [esi + 0x14]
cmp dword [esi + 0x10], eax
jne 0x456a48
mov ecx, eax
shr ecx, 2
lea edi, [ecx + eax + 1]
xor ecx, ecx
mov eax, edi
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ba2ba
mov ebx, eax
mov eax, dword [esi + 0x10]
add esp, 4
test eax, eax
je 0x456a2f
mov ecx, dword [esi + 0xc]
add eax, eax
add eax, eax
add eax, eax
push eax
push ecx
push ebx
call fcn.005c27a0
add esp, 0xc
mov eax, dword [esi + 0xc]
push eax
call fcn.004ba2af
mov dword [esi + 0xc], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esi + 0x14], edi
mov edi, dword [ebp + 0xc]
add esp, 4
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x10]
mov dword [eax + ecx*8], ebx
mov dword [eax + ecx*8 + 4], edx
inc dword [esi + 0x10]
cmp edx, dword [esp + 0xc0]
jne 0x456a90
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0x30]
mov edx, dword [ecx + ebx*4 + 4]
mov esi, dword [eax + edx*8]
mov ecx, dword [ecx + ebx*4]
sub esi, dword [eax + ecx*8]
mov edx, dword [eax + edx*8 + 4]
sbb edx, dword [eax + ecx*8 + 4]
add dword [esp + 0x94], esi
adc dword [esp + 0x98], edx
jmp 0x456adf
mov ecx, dword [esp + 0x104]
add dword [esp + 0x94], ecx
mov eax, dword [esp + 0x108]
mov byte [esp + 0x37], 1
adc dword [esp + 0x98], eax
cmp dword [esp + 0xb8], eax
ja 0x456ad3
jb 0x456ac5
cmp dword [esp + 0xb4], ecx
jae 0x456ad3
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
cmp byte [esp + 0x53], 0
je 0x456adf
mov byte [esp + 0x52], 1
mov byte [esp + 0x370], 4
mov eax, dword [esp + 0x17c]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0x178]
add esp, 4
push ecx
call fcn.004ba2af
add esp, 4
cmp dword [esp + 0x16c], 0
je 0x456b35
mov eax, dword [esp + 0x16c]
mov edx, dword [eax - 4]
lea esi, [eax - 4]
push 0x439bc0
push edx
push 0x18
push eax
call fcn.005c094f
push esi
call fcn.004ba2af
add esp, 4
inc ebx
mov dword [esp + 0x38], ebx
cmp ebx, dword [edi + 4]
jb 0x4567b0
xor ebx, ebx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 4]
xor esi, esi
xor edx, edx
xor edi, edi
mov dword [esp + 0x12c], esi
mov dword [esp + 0x130], edx
mov dword [esp + 0x14], ecx
cmp ecx, ebx
jbe 0x456bec
mov eax, dword [eax]
mov dword [esp + 0x64], eax
mov ecx, dword [eax]
cmp byte [ecx + 0x38], 0
je 0x456bcc
mov eax, dword [ecx + 0x20]
add dword [esp + 0x94], eax
mov ecx, dword [ecx + 0x24]
adc dword [esp + 0x98], ecx
cmp dword [esp + 0x10c], 1
jne 0x456ba1
cmp dword [esp + 0x110], 0
je 0x456bbe
add esi, eax
adc edx, ecx
jmp 0x456bcc
push 0x64afe4
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x1c], 0x1330368
call fcn.005c75bb
cmp edx, ecx
ja 0x456bcc
jb 0x456bc8
cmp esi, eax
jae 0x456bcc
mov esi, eax
mov edx, ecx
mov eax, dword [esp + 0x64]
inc edi
add eax, 4
mov dword [esp + 0x64], eax
cmp edi, dword [esp + 0x14]
jb 0x456b71
mov dword [esp + 0x130], edx
mov dword [esp + 0x12c], esi
mov eax, dword [esp + 0xb8]
cmp edx, eax
ja 0x456c17
jb 0x456c02
cmp esi, dword [esp + 0xb4]
jae 0x456c17
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x98]
mov ebx, dword [ebp + 0x20]
mov ecx, dword [esp + 0x94]
mov edx, dword [ebx]
mov edx, dword [edx + 0xc]
push eax
push ecx
push ebx
call edx
mov esi, eax
xor edi, edi
mov dword [esp + 0x14], esi
cmp esi, edi
je 0x456ca9
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
test ebx, ebx
je 0x456c81
lea ebx, [ebx]
mov esi, dword [edi + ebx*4 - 4]
dec ebx
test esi, esi
je 0x456c79
mov eax, dword [esi + 0xc]
push eax
call fcn.004ba2af
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004ba2af
add esp, 4
push esi
call fcn.004ba2af
add esp, 4
test ebx, ebx
jne 0x456c50
mov esi, dword [esp + 0x14]
push edi
call fcn.004ba2af
mov eax, dword [esp + 0x58]
add esp, 4
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call fcn.004ba2af
add esp, 4
jmp 0x456699
push 0x38
call fcn.004ba280
add esp, 4
cmp eax, edi
je 0x456ce0
mov dword [eax + 4], edi
mov dword [eax], vtable.CLocalProgress.0
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edi
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], edi
mov dword [eax + 0x28], edi
mov dword [eax + 0x2c], edi
mov word [eax + 0x30], 0x101
mov edi, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x278], edi
test edi, edi
je 0x456cf7
mov eax, dword [edi]
mov ecx, dword [eax + 4]
push edi
call ecx
lea esi, [edi + 0xc]
mov byte [esp + 0x370], 6
mov eax, dword [esi]
test eax, eax
je 0x456d16
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esi], 0
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push ebx
call edx
mov eax, dword [edi + 8]
test eax, eax
je 0x456d2d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, ebx
push esi
mov dword [edi + 8], ebx
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0x62afb0
push eax
call edx
xor ebx, ebx
mov byte [edi + 0x10], 1
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
mov eax, dword [ebp + 0x24]
mov byte [esp + 0x370], 7
cmp byte [eax + 0x2b], bl
je 0x456edd
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push ebx
push ebx
push ebx
push ebx
call esi
mov dword [esp + 0x74], eax
cmp eax, ebx
jne 0x456db1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jne 0x456d88
mov eax, 1
mov dword [esp + 0x38], eax
cmp eax, ebx
je 0x456edd
mov eax, dword [esp + 0x7c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x456de7
push eax
call esi
test eax, eax
jne 0x456de7
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x456deb
push ebx
push ebx
push 1
push ebx
call esi
mov dword [esp + 0x78], eax
cmp eax, ebx
je 0x456d79
push ebx
push ebx
push 1
push ebx
call esi
mov dword [esp + 0x7c], eax
cmp eax, ebx
jne 0x456edd
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, ebx
jne 0x456d88
mov dword [esp + 0x38], 1
jmp 0x456d94
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x78]
cmp eax, ebx
je 0x456e02
push eax
call esi
test eax, eax
jne 0x456e02
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x456e06
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x74]
cmp eax, ebx
je 0x456e1d
push eax
call esi
test eax, eax
jne 0x456e1d
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x456e21
mov dword [esp + 0x74], ebx
mov byte [esp + 0x370], 4
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edi
call edx
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
test ebx, ebx
je 0x456e6d
lea ecx, [ecx]
mov esi, dword [edi + ebx*4 - 4]
dec ebx
test esi, esi
je 0x456e69
mov eax, dword [esi + 0xc]
push eax
call fcn.004ba2af
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004ba2af
add esp, 4
push esi
call fcn.004ba2af
add esp, 4
test ebx, ebx
jne 0x456e40
push edi
call fcn.004ba2af
mov eax, dword [esp + 0x58]
add esp, 4
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x456ea8
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x456ec3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x24]
movzx eax, byte [esi + 0x2b]
push eax
lea ecx, [esp + 0x1d0]
push ecx
call fcn.004560b0
mov byte [esp + 0x370], 8
cmp byte [esi + 0x2b], 0
je 0x45701a
cmp byte [esp + 0x37], 0
je 0x45701a
lea esi, [esp + 0x1cc]
call fcn.0046bf50
mov edi, eax
test edi, edi
je 0x45701a
mov edx, esi
push edx
mov byte [esp + 0x374], 7
call fcn.004561d0
mov eax, dword [esp + 0x7c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x456f54
push eax
call esi
test eax, eax
jne 0x456f54
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
jmp 0x456f62
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x456f75
push eax
call esi
test eax, eax
jne 0x456f75
call ebx
jmp 0x456f7d
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x74]
test eax, eax
je 0x456f90
push eax
call esi
test eax, eax
jne 0x456f90
call ebx
jmp 0x456f98
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov eax, dword [esp + 0x54]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x456fe7
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x457002
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, edi
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ebx, ebx
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], ebx
mov dword [esp + 0xfc], ebx
mov word [esp + 0x100], 1
mov byte [esp + 0x102], bl
mov edi, dword [ebp + 0x24]
mov byte [esp + 0x370], 9
cmp dword [edi + 0xc], ebx
jne 0x457063
mov word [esp + 0x100], bx
mov byte [esp + 0x102], bl
jmp 0x4570a5
mov eax, dword [esp + 0x18]
mov esi, eax
cmp eax, ebx
je 0x457075
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [edi + 0xc]
mov dword [esp + 0xf4], esi
cmp eax, ebx
jle 0x4570a5
mov byte [esp + 0x100], 1
cmp eax, 7
jl 0x4570a5
mov byte [esp + 0x101], 1
cmp eax, 9
jl 0x4570a5
mov byte [esp + 0x102], 1
mov al, byte [edi + 8]
mov ecx, dword [edi]
mov byte [esp + 0x37], al
mov dword [esp + 0x60], ecx
test al, al
je 0x457138
mov edx, ecx
mov esi, dword [edx + 4]
xor edi, edi
cmp esi, ebx
jbe 0x457138
mov eax, ecx
mov edx, dword [eax]
lea ecx, [ecx]
mov ecx, dword [edx]
mov eax, dword [ecx + 0x10]
cmp dword [ecx + 0x14], ebx
ja 0x457129
jb 0x4570e1
cmp eax, 0xffffffff
ja 0x457129
cmp eax, 0x3030205
ja 0x45710b
je 0x457133
cmp eax, 0x20304
ja 0x4570ff
je 0x457133
cmp eax, 3
je 0x457133
cmp eax, 0x20302
jmp 0x457127
sub eax, 0x3030103
je 0x457133
sub eax, 0x18
jmp 0x457127
cmp eax, 0x3030701
ja 0x457122
je 0x457133
cmp eax, 0x3030401
je 0x457133
cmp eax, 0x3030501
jmp 0x457127
cmp eax, 0x3030805
je 0x457133
inc edi
add edx, 4
cmp edi, esi
jb 0x4570d0
jmp 0x457138
mov byte [esp + 0x37], 0
mov edx, dword [ebp + 0x10]
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp dword [edx + 4], ebx
jbe 0x45731e
lea ebx, [ebx]
mov eax, dword [edx]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 0x38], 0
je 0x457310
cmp byte [eax + 0x3b], 0
jne 0x457310
cmp byte [eax + 0x3a], 0
jne 0x457310
mov esi, dword [eax + 0x20]
or esi, dword [eax + 0x24]
je 0x457310
cmp byte [esp + 0x37], 0
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], ebx
mov byte [esp + 0x11c], 0
je 0x4571c0
lea edx, [esp + 0x114]
push edx
push eax
push ecx
lea ecx, [esp + 0x100]
call fcn.00454ef0
mov esi, eax
mov dword [esp + 0x14], esi
cmp esi, ebx
jne 0x4573b6
mov eax, dword [esp + 0x60]
mov cl, byte [eax + 0x21]
mov byte [esp + 0x11c], cl
lea ecx, [esp + 0x114]
lea eax, [esp + 0x54]
call fcn.00454740
mov dword [esp + 0x64], eax
cmp eax, dword [esp + 0x40]
jb 0x45729b
lea esp, [esp]
push 0x18
call fcn.004ba280
add esp, 4
test eax, eax
je 0x457215
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov edi, eax
jmp 0x457217
xor edi, edi
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x44]
jne 0x457285
mov eax, dword [esp + 0x44]
mov edx, eax
shr edx, 2
lea esi, [edx + eax + 1]
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ba2ba
add esp, 4
cmp dword [esp + 0x40], 0
mov ebx, eax
je 0x45726c
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
lea ecx, [eax*4]
push ecx
push edx
push ebx
call fcn.005c27a0
add esp, 0xc
mov eax, dword [esp + 0x3c]
push eax
call fcn.004ba2af
mov eax, dword [esp + 0x44]
add esp, 4
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x44], esi
mov ecx, dword [esp + 0x3c]
mov dword [ecx + eax*4], edi
inc eax
mov dword [esp + 0x40], eax
cmp dword [esp + 0x64], eax
jae 0x4571f0
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x3c]
mov esi, dword [edx + eax*4]
mov eax, dword [esi + 8]
cmp dword [esi + 4], eax
jne 0x4572fc
mov ecx, eax
shr ecx, 2
lea edi, [ecx + eax + 1]
xor ecx, ecx
mov eax, edi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ba2ba
mov ebx, eax
mov eax, dword [esi + 4]
add esp, 4
test eax, eax
je 0x4572ec
mov ecx, dword [esi]
add eax, eax
add eax, eax
push eax
push ecx
push ebx
call fcn.005c27a0
add esp, 0xc
mov eax, dword [esi]
push eax
call fcn.004ba2af
add esp, 4
mov dword [esi], ebx
mov dword [esi + 8], edi
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov ecx, dword [esp + 0x1c]
mov dword [eax + edx*4], ecx
inc dword [esi + 4]
mov edx, dword [ebp + 0x10]
xor ebx, ebx
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, dword [edx + 4]
jb 0x457150
mov esi, dword [esp + 0xf4]
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0xf8]
push eax
call fcn.004ba2af
add esp, 4
cmp esi, ebx
je 0x457349
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
xor edi, edi
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x30], edi
mov byte [esp + 0x370], 0xa
cmp byte [esp + 0x52], 0
je 0x4578b1
push 0x14
call fcn.004ba280
mov esi, eax
add esp, 4
mov dword [esp + 0x4c], esi
mov byte [esp + 0x370], 0xb
cmp esi, ebx
je 0x4574b2
mov dword [esi + 4], ebx
mov dword [esi], vtable.NArchive::N7z::CCryptoGetTextPassword.0
push 8
mov dword [esi + 8], ebx
call fcn.004ba2ba
add esp, 4
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], 3
mov word [eax], cx
jmp 0x4574b4
mov byte [esp + 0x370], 8
mov edx, dword [esp + 0xf8]
push edx
call fcn.004ba2af
mov eax, dword [esp + 0xf8]
add esp, 4
cmp eax, ebx
je 0x4573e1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1cc]
push eax
mov byte [esp + 0x374], 7
call fcn.004561d0
mov eax, dword [esp + 0x7c]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x457415
push eax
call ebx
test eax, eax
jne 0x457415
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
jmp 0x457423
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x457436
push eax
call ebx
test eax, eax
jne 0x457436
call edi
jmp 0x45743e
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x74]
test eax, eax
je 0x457451
push eax
call ebx
test eax, eax
jne 0x457451
call edi
jmp 0x457459
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
test ebx, ebx
je 0x456c81
lea ecx, [ecx]
mov esi, dword [edi + ebx*4 - 4]
dec ebx
test esi, esi
je 0x4574a9
mov eax, dword [esi + 0xc]
push eax
call fcn.004ba2af
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004ba2af
add esp, 4
push esi
call fcn.004ba2af
add esp, 4
test ebx, ebx
jne 0x457480
jmp 0x456c7d
xor esi, esi
mov byte [esp + 0x370], 0xa
mov dword [esp + 0x1a4], esi
cmp esi, ebx
je 0x4574cf
mov edx, dword [esi]
mov eax, dword [edx + 4]
push esi
call eax
mov dword [esp + 0x30], esi
cmp esi, ebx
je 0x4574df
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
push esi
call edx
mov eax, dword [esp + 0x264]
cmp eax, ebx
je 0x4574f2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x264], esi
cmp byte [eax + 0x21], 0
je 0x457569
lea ebx, [eax + 0x24]
add esi, 8
cmp ebx, esi
je 0x4578ad
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 8]
jbe 0x45754e
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ba2ba
mov dword [esp + 0x18], eax
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004ba2af
mov eax, dword [esp + 0x18]
add esp, 4
mov dword [esi], eax
mov dword [esi + 8], edi
mov dword [esi + 4], edi
mov ebx, dword [ebx]
mov esi, dword [esi]
lea ecx, [edi + edi + 2]
push ecx
push ebx
push esi
call fcn.005c27a0
add esp, 0xc
jmp 0x4578ad
mov eax, dword [ebp + 0x28]
cmp eax, ebx
jne 0x4576be
mov byte [esp + 0x370], 8
cmp esi, ebx
je 0x457588
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
lea ecx, [esp + 0x1cc]
push ecx
mov byte [esp + 0x374], 7
call fcn.004561d0
mov eax, dword [esp + 0x7c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x4575bc
push eax
call esi
test eax, eax
jne 0x4575bc
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
jmp 0x4575ca
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x78]
xor edi, edi
cmp eax, edi
je 0x4575df
push eax
call esi
test eax, eax
jne 0x4575df
call ebx
jmp 0x4575e3
mov dword [esp + 0x78], edi
mov eax, dword [esp + 0x74]
cmp eax, edi
je 0x4575f6
push eax
call esi
test eax, eax
jne 0x4575f6
call ebx
jmp 0x4575fa
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
test ebx, ebx
je 0x45764d
lea ebx, [ebx]
mov esi, dword [edi + ebx*4 - 4]
dec ebx
test esi, esi
je 0x457649
mov eax, dword [esi + 0xc]
push eax
call fcn.004ba2af
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004ba2af
add esp, 4
push esi
call fcn.004ba2af
add esp, 4
test ebx, ebx
jne 0x457620
push edi
call fcn.004ba2af
mov ecx, dword [esp + 0x58]
add esp, 4
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x457688
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4576a3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 0x80004001
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x10], ebx
lea edx, [esp + 0x10]
mov byte [esp + 0x370], 0xc
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov dword [esp + 0x14], eax
cmp eax, ebx
je 0x457831
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x370], 8
cmp esi, ebx
je 0x457702
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
lea ecx, [esp + 0x1cc]
push ecx
mov byte [esp + 0x374], 7
call fcn.004561d0
mov eax, dword [esp + 0x7c]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x457736
push eax
call esi
test eax, eax
jne 0x457736
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
jmp 0x457744
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x78]
xor edi, edi
cmp eax, edi
je 0x457759
push eax
call esi
test eax, eax
jne 0x457759
call ebx
jmp 0x45775d
mov dword [esp + 0x78], edi
mov eax, dword [esp + 0x74]
cmp eax, edi
je 0x457770
push eax
call esi
test eax, eax
jne 0x457770
call ebx
jmp 0x457774
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
test ebx, ebx
je 0x4577c1
mov esi, dword [edi + ebx*4 - 4]
dec ebx
test esi, esi
je 0x4577bd
mov eax, dword [esi + 0xc]
push eax
call fcn.004ba2af
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004ba2af
add esp, 4
push esi
call fcn.004ba2af
add esp, 4
test ebx, ebx
jne 0x457794
push edi
call fcn.004ba2af
mov ecx, dword [esp + 0x58]
add esp, 4
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x4577fc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x457817
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x10]
cmp eax, ebx
je 0x45789e
xor edi, edi
mov dword [esp + 0x14], eax
cmp word [eax], di
je 0x45784c
inc edi
cmp word [eax + edi*2], 0
jne 0x457844
cmp edi, dword [esi + 0x10]
jbe 0x457881
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ba2ba
mov ebx, eax
mov eax, dword [esi + 8]
add esp, 4
push eax
call fcn.004ba2af
add esp, 4
mov dword [esi + 8], ebx
mov dword [esi + 0x10], edi
mov ecx, dword [esp + 0x14]
lea eax, [edi + edi + 2]
push eax
mov dword [esi + 0xc], edi
mov esi, dword [esi + 8]
push ecx
push esi
call fcn.005c27a0
mov eax, dword [esp + 0x1c]
add esp, 0xc
push eax
mov byte [esp + 0x374], 0xa
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, dword [esp + 0x30]
mov ebx, dword [ebp + 0x1c]
mov esi, dword [ebp + 0x14]
call fcn.0045aec0
mov dword [esp + 0x14], eax
test eax, eax
je 0x4579f0
xor esi, esi
mov byte [esp + 0x370], 8
cmp edi, esi
je 0x4578de
mov edx, dword [edi]
mov eax, dword [edx + 8]
push edi
call eax
lea ecx, [esp + 0x1cc]
push ecx
mov byte [esp + 0x374], 7
call fcn.004561d0
mov eax, dword [esp + 0x7c]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, esi
je 0x457912
push eax
call edi
test eax, eax
jne 0x457912
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
jmp 0x45791c
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x7c], esi
mov eax, dword [esp + 0x78]
cmp eax, esi
je 0x45792f
push eax
call edi
test eax, eax
jne 0x45792f
call ebx
jmp 0x457933
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x74]
cmp eax, esi
je 0x457946
push eax
call edi
test eax, eax
jne 0x457946
call ebx
jmp 0x45794a
mov dword [esp + 0x74], esi
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
cmp ebx, esi
je 0x45799f
lea ebx, [ebx]
mov esi, dword [edi + ebx*4 - 4]
dec ebx
test esi, esi
je 0x457999
mov eax, dword [esi + 0xc]
push eax
call fcn.004ba2af
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004ba2af
add esp, 4
push esi
call fcn.004ba2af
add esp, 4
test ebx, ebx
jne 0x457970
xor esi, esi
push edi
call fcn.004ba2af
mov ecx, dword [esp + 0x58]
add esp, 4
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
cmp eax, esi
je 0x4579da
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
cmp eax, esi
jmp 0x45780d
mov ecx, esi
call fcn.0045af50
xor esi, esi
mov dword [esp + 0x14], eax
cmp eax, esi
je 0x457b25
mov byte [esp + 0x370], 8
cmp edi, esi
je 0x457a19
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
lea edx, [esp + 0x1cc]
push edx
mov byte [esp + 0x374], 7
call fcn.004561d0
mov eax, dword [esp + 0x7c]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, esi
je 0x457a4d
push eax
call edi
test eax, eax
jne 0x457a4d
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
jmp 0x457a57
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x7c], esi
mov eax, dword [esp + 0x78]
cmp eax, esi
je 0x457a6a
push eax
call edi
test eax, eax
jne 0x457a6a
call ebx
jmp 0x457a6e
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x74]
cmp eax, esi
je 0x457a81
push eax
call edi
test eax, eax
jne 0x457a81
call ebx
jmp 0x457a85
mov dword [esp + 0x74], esi
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
cmp ebx, esi
je 0x457ad4
mov esi, dword [edi + ebx*4 - 4]
dec ebx
test esi, esi
je 0x457ace
mov eax, dword [esi + 0xc]
push eax
call fcn.004ba2af
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004ba2af
add esp, 4
push esi
call fcn.004ba2af
add esp, 4
test ebx, ebx
jne 0x457aa5
xor esi, esi
push edi
call fcn.004ba2af
mov eax, dword [esp + 0x58]
add esp, 4
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
cmp eax, esi
je 0x457b0f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
cmp eax, esi
jmp 0x45780d
xor ecx, ecx
xor edi, edi
xor esi, esi
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], esi
mov edx, dword [ebp + 0x10]
mov byte [esp + 0x370], 0xd
mov dword [esp + 0x1c], ecx
cmp dword [edx + 4], ecx
jbe 0x457c22
jmp 0x457b60
mov eax, dword [edx]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 0x38], 0
je 0x457b7f
cmp byte [eax + 0x3b], 0
jne 0x457b96
cmp byte [eax + 0x3a], 0
jne 0x457b96
mov ebx, dword [eax + 0x20]
or ebx, dword [eax + 0x24]
jmp 0x457b94
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x457b96
mov ebx, dword [ebp + 0xc]
mov ebx, dword [ebx + 0x58]
lea eax, [eax + eax*2]
cmp byte [ebx + eax*8 + 0x10], 0
jne 0x457c14
cmp edi, esi
jne 0x457c02
mov ecx, esi
shr ecx, 2
lea esi, [ecx + esi + 1]
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ba2ba
add esp, 4
mov ebx, eax
test edi, edi
je 0x457bdd
mov ecx, dword [esp + 0xa8]
lea eax, [edi*4]
push eax
push ecx
push ebx
call fcn.005c27a0
add esp, 0xc
mov edx, dword [esp + 0xa8]
push edx
call fcn.004ba2af
mov edx, dword [ebp + 0x10]
mov ecx, dword [esp + 0x20]
add esp, 4
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xb0], esi
mov eax, dword [esp + 0xa8]
mov dword [eax + edi*4], ecx
inc edi
mov dword [esp + 0xac], edi
inc ecx
mov dword [esp + 0x1c], ecx
cmp ecx, dword [edx + 4]
jb 0x457b60
push edx
lea eax, [esp + 0xac]
call fcn.0045a250
mov dword [esp + 0x1c], 0
test edi, edi
je 0x457e1a
nop
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x1c]
mov eax, dword [ecx + edx*4]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov ebx, dword [edx + eax*4]
push 8
mov dword [esp + 0x180], 1
call fcn.004ba2ba
mov edi, eax
xor eax, eax
add esp, 4
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 3
mov word [edi], ax
mov byte [esp + 0x370], 0xe
lea ecx, [esp + 0x13c]
cmp byte [ebx + 0x39], al
je 0x457d0b
lea esi, [esp + 0x16c]
mov eax, ebx
call fcn.004558b0
add ebx, 0x28
lea ecx, [esp + 0x68]
cmp ebx, ecx
je 0x457dd8
mov esi, dword [ebx + 4]
cmp esi, 3
jbe 0x457cf4
xor ecx, ecx
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ba2ba
add esp, 4
push edi
mov dword [esp + 0x18], eax
call fcn.004ba2af
mov edi, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], esi
mov ebx, dword [ebx]
lea eax, [esi + esi + 2]
push eax
push ebx
push edi
mov dword [esp + 0x78], esi
call fcn.005c27a0
jmp 0x457dd5
mov eax, dword [ebx]
mov esi, dword [ebp + 0xc]
lea edx, [esp + 0x16c]
call fcn.00456470
mov ebx, dword [ebx]
xor ecx, ecx
mov edx, esi
mov word [edi], cx
mov dword [esp + 0x6c], 0
cmp dword [edx + 0xd8], ecx
je 0x457dd8
mov eax, edx
cmp dword [eax + 0xd0], ecx
je 0x457dd8
mov eax, dword [eax + 0xd8]
mov ecx, dword [eax + ebx*4]
mov esi, dword [eax + ebx*4 + 4]
sub esi, ecx
mov dword [esp + 0x9c], ecx
cmp esi, 0x10000000
jae 0x457dd8
lea ebx, [esi - 1]
cmp ebx, 3
jbe 0x457db3
cmp ebx, 0x40000000
jae 0x457eac
xor ecx, ecx
lea eax, [ebx + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ba2ba
add esp, 4
xor ecx, ecx
push edi
mov dword [esp + 0x18], eax
mov word [eax], cx
call fcn.004ba2af
mov edi, dword [esp + 0x18]
add esp, 4
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], ebx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0xd0]
mov ecx, dword [esp + 0x9c]
lea edx, [esi + esi]
push edx
lea eax, [eax + ecx*2]
push eax
push edi
call fcn.005c27a0
mov dword [esp + 0x78], ebx
add esp, 0xc
mov edx, dword [ebp + 0x18]
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 0x140]
lea ecx, [esp + 0x170]
call fcn.0045cc50
push edi
mov byte [esp + 0x374], 0xd
call fcn.004ba2af
mov eax, dword [esp + 0x20]
inc eax
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, dword [esp + 0xac]
jb 0x457c40
mov byte [esp + 0x370], 0xa
mov edx, dword [esp + 0xa8]
push edx
call fcn.004ba2af
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x5c]
xor edi, edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edi
add esp, 4
xor eax, eax
cmp esi, edi
jbe 0x457e5a
mov ecx, dword [esp + 0x54]
add ecx, 0xc
nop
mov dword [ecx], eax
inc eax
add ecx, 0x10
cmp eax, esi
jb 0x457e50
lea eax, [esp + 0x54]
call fcn.0045a5d0
mov dword [esp + 0x64], edi
cmp esi, edi
jbe 0x459388
nop
mov esi, dword [esp + 0x64]
mov ecx, dword [ebp + 0x24]
mov edi, dword [ecx]
shl esi, 4
add esi, dword [esp + 0x54]
lea eax, [esp + 0xc4]
push eax
mov dword [esp + 0x18], esi
call fcn.0045a120
mov eax, dword [ebp + 0x24]
mov byte [esp + 0x370], 0xf
cmp byte [eax + 9], 0
je 0x457ec3
cmp byte [eax + 0x2b], 0
je 0x457ec3
mov al, 1
jmp 0x457ec5
push 0x64afe4
lea ecx, [esp + 0x18]
push ecx
mov dword [esp + 0x1c], 0x13329ad
call fcn.005c75bb
xor al, al
push eax
push esi
lea edi, [esp + 0xcc]
call fcn.00455660
add esp, 8
mov dword [esp + 0xa4], eax
test eax, eax
jne 0x45942c
cmp byte [esi + 8], al
je 0x457f1b
cmp byte [esp + 0xe5], al
jne 0x457f3a
mov eax, dword [esp + 0x1a4]
test eax, eax
je 0x457f11
lea ebx, [eax + 8]
lea esi, [esp + 0xe8]
call fcn.00418070
mov esi, dword [esp + 0x14]
mov byte [esp + 0xe5], 1
jmp 0x457f3a
mov eax, dword [esp + 0xe8]
xor edx, edx
mov byte [esp + 0xe5], 0
mov dword [esp + 0xec], 0
mov word [eax], dx
lea ecx, [esp + 0xc4]
push ecx
lea edx, [esp + 0x288]
push edx
call fcn.00470a00
mov byte [esp + 0x370], 0x10
mov eax, dword [esi + 0xc]
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + eax*4]
cmp dword [eax + 0x10], 0
mov dword [esp + 0x60], eax
mov dword [esp + 0xbc], 0
jbe 0x458c1a
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0xbc]
mov eax, dword [edx + 0xc]
mov ebx, dword [ebp + 0xc]
mov esi, dword [eax + ecx*8]
lea eax, [eax + ecx*8]
mov ecx, dword [ebx + 0x24]
mov edi, dword [ecx + esi*4]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x38], edi
cmp dword [eax + 4], edi
jne 0x458226
mov eax, dword [esp + 0x18]
test eax, eax
je 0x45802e
mov edx, dword [eax]
push 3
push esi
push 2
push eax
mov eax, dword [edx + 0x10]
call eax
mov dword [esp + 0xa0], eax
test eax, eax
jne 0x459515
mov eax, dword [ebx + 0x118]
mov esi, dword [eax + esi*4]
xor edi, edi
cmp dword [esp + 0x38], edi
jbe 0x45802e
lea eax, [esi + esi*2]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x10], eax
mov ecx, dword [ebx + 0x58]
cmp byte [ecx + eax + 0x10], 0
je 0x458020
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
push 3
push esi
push 1
push eax
mov eax, dword [edx + 0x10]
inc edi
call eax
mov dword [esp + 0xa0], eax
test eax, eax
jne 0x459515
mov eax, dword [esp + 0x10]
add eax, 0x18
inc esi
mov dword [esp + 0x10], eax
cmp edi, dword [esp + 0x38]
jb 0x457ff1
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x30]
mov esi, dword [esp + 0x48]
mov edx, dword [ecx + esi*4 + 4]
mov edi, dword [ecx + esi*4]
mov esi, dword [eax + edx*8]
sub esi, dword [eax + edi*8]
mov dword [esp + 0x14], edi
mov edi, dword [eax + edx*8 + 4]
mov edx, dword [esp + 0x14]
sbb edi, dword [eax + edx*8 + 4]
mov edx, dword [esp + 0x48]
mov ecx, dword [ecx + edx*4]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
add edx, dword [ebx + 0xf8]
mov ecx, dword [ebp + 0x14]
adc eax, dword [ebx + 0xfc]
mov ecx, dword [ecx + 0x54]
push 0
push 0
push eax
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov eax, dword [ecx + 0x10]
push edx
mov edx, dword [ebp + 8]
push edx
call eax
test eax, eax
jne 0x4580a8
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x14]
push ecx
mov ecx, dword [ebp + 8]
push edi
push esi
push edx
call fcn.00454930
add esp, 0x10
mov dword [esp + 0x10], eax
test eax, eax
jne 0x459612
mov eax, dword [esp + 0x28]
add dword [eax + 0x18], esi
mov esi, dword [ebp + 0x18]
push 0x18
adc dword [eax + 0x1c], edi
add esi, 0x54
call fcn.004ba280
add esp, 4
test eax, eax
je 0x4580ed
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov edi, eax
mov dword [esp + 0x1c], eax
jmp 0x4580f3
xor edi, edi
mov dword [esp + 0x1c], edi
call fcn.0041bab0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ecx + eax*4], edi
inc dword [esi + 4]
mov eax, dword [ebx + 0x38]
mov esi, dword [esp + 0x48]
mov ecx, dword [eax + esi*4]
mov eax, dword [eax + esi*4 + 4]
mov edx, dword [ebx + 0x3c]
sub eax, ecx
add edx, ecx
mov dword [esp + 0xf8], eax
push edi
lea eax, [esp + 0xf8]
mov dword [esp + 0xf8], edx
mov dword [esp + 0x100], 0
call fcn.00436190
mov edx, dword [esp + 0xf8]
sub edx, dword [esp + 0xfc]
jne 0x45970c
mov ebx, dword [ebx + 0x30]
mov ebx, dword [ebx + esi*4]
mov dword [esp + 0x10], edx
cmp dword [edi + 0x14], edx
jbe 0x4581bc
mov esi, dword [ebp + 0x18]
add esi, 0x30
lea edi, [ebx*8]
mov edi, edi
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov ebx, dword [edi + eax + 8]
sub ebx, dword [edi + eax]
mov ecx, dword [edi + eax + 0xc]
sbb ecx, dword [edi + eax + 4]
mov dword [esp + 0x280], ecx
call fcn.004713e0
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, dword [esp + 0x280]
mov dword [eax + ecx*8], ebx
mov dword [eax + ecx*8 + 4], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
inc dword [esi + 4]
inc eax
add edi, 8
mov dword [esp + 0x10], eax
cmp eax, dword [ecx + 0x14]
jb 0x458170
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx + 0x2c]
mov ecx, dword [esp + 0x48]
mov edi, dword [eax + ecx*4]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esp + 0x14], eax
cmp edi, eax
jae 0x458a0b
mov esi, dword [ebp + 0x18]
add esi, 0x24
nop
mov eax, dword [ebx + 0x28]
mov edx, dword [eax + edi*8]
mov eax, dword [eax + edi*8 + 4]
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], eax
call fcn.004713e0
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, dword [esp + 0x1bc]
mov dword [eax + ecx*8], edx
mov edx, dword [esp + 0x1c0]
mov dword [eax + ecx*8 + 4], edx
inc dword [esi + 4]
inc edi
cmp edi, dword [esp + 0x14]
jb 0x4581e0
jmp 0x458a0b
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov byte [esp + 0x370], 0x11
mov eax, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
cmp eax, ecx
je 0x458266
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
push 4
push esi
push 2
push eax
call edx
mov dword [esp + 0xa0], eax
test eax, eax
jne 0x459729
xor ecx, ecx
mov eax, dword [ebx + 0x118]
mov esi, dword [eax + esi*4]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], ecx
cmp edi, ecx
jbe 0x45831d
lea eax, [esi + esi*2]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
lea ecx, [eax + esi*4]
mov dword [esp + 0x1c], ecx
lea ecx, [ecx]
mov edi, dword [ebx + 0x58]
add edi, dword [esp + 0x10]
mov byte [esp + 0x138], 0
cmp byte [edi + 0x10], 0
je 0x4582d9
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
inc dword [esp + 0x2c]
test eax, eax
js 0x4582d9
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x38], 0
jne 0x4582d9
mov byte [esp + 0x138], 1
mov eax, dword [esp + 0x138]
push eax
lea esi, [esp + 0x6c]
call fcn.00439a40
cmp byte [esp + 0x138], 0
je 0x458307
mov ecx, dword [edi]
add dword [esp + 0xb4], ecx
mov edx, dword [edi + 4]
adc dword [esp + 0xb8], edx
mov eax, dword [esp + 0x38]
add dword [esp + 0x10], 0x18
add dword [esp + 0x1c], 4
cmp dword [esp + 0x2c], eax
jb 0x4582a0
xor ecx, ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx + 0x34]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x1c], ecx
mov byte [esp + 0x370], 0x12
push 0x1c
mov dword [esp + 0x18], ecx
call fcn.004ba280
xor edi, edi
add esp, 4
cmp eax, edi
je 0x458366
mov dword [eax + 4], vtable.ICompressGetSubStreamSize.0
mov dword [eax + 8], edi
mov dword [eax], vtable.NArchive::N7z::CRepackInStreamWithSizes.0
mov dword [eax + 4], vtable.NArchive::N7z::CRepackInStreamWithSizes.1.0
mov dword [eax + 0xc], edi
jmp 0x458368
xor eax, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x104], eax
cmp eax, edi
je 0x45837f
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [ebp + 0x24]
mov byte [esp + 0x370], 0x13
cmp byte [eax + 0x2b], 0
je 0x4584dc
mov eax, dword [esp + 0x24c]
cmp eax, edi
je 0x4583a2
lea edi, [eax + 8]
mov dword [esp + 0x10], 0
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x20]
push edx
lea esi, [esp + 0x7c]
mov byte [esp + 0x378], 0x14
call fcn.0046f080
mov eax, dword [esp + 0x74]
mov esi, dword [sym.imp.KERNEL32.dll_ResetEvent]
push eax
call esi
test eax, eax
jne 0x4583dc
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x78]
push ecx
call esi
test eax, eax
jne 0x4583ed
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x7c]
push edx
call esi
test eax, eax
jne 0x4583fe
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x24c]
mov esi, dword [esp + 0x10]
xor eax, eax
add ecx, 0x34
mov word [esp + 0x80], pe_nt_image_headers32
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x9c], ecx
cmp esi, eax
je 0x458447
mov edx, dword [esi]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [esp + 0x9c]
mov eax, dword [ecx]
test eax, eax
je 0x45845c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
cmp dword [ebp + 8], 0
mov ecx, dword [esp + 0x9c]
mov dword [ecx], esi
je 0x458476
mov eax, dword [ebp + 8]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x248]
test eax, eax
je 0x458489
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp + 8]
mov ecx, dword [ebx + 0xf8]
mov edx, dword [ebx + 0xfc]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x254], ecx
mov dword [esp + 0x258], edx
mov dword [esp + 0x25c], ebx
mov dword [esp + 0x260], eax
mov byte [esp + 0x370], 0x13
test esi, esi
je 0x458628
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
jmp 0x458628
push 0x40
call fcn.004ba280
mov esi, eax
add esp, 4
mov dword [esp + 0x4c], esi
test esi, esi
je 0x458523
xor eax, eax
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], eax
mov dword [esi], vtable.NArchive::N7z::CFolderInStream2.0
mov dword [esi + 0x38], eax
mov byte [esp + 0x370], 0x17
push 0x10000
mov dword [esi + 0x3c], eax
call fcn.004ba2ba
add esp, 4
mov dword [esi + 0x34], eax
mov edi, esi
jmp 0x458525
xor edi, edi
mov byte [esp + 0x370], 0x13
mov eax, dword [edi]
mov ecx, dword [eax + 4]
xor esi, esi
push edi
mov dword [esp + 0x18], edi
mov dword [edi + 0x3c], esi
call ecx
lea edx, [edi + 8]
push 8
mov dword [esp + 0x20], edi
mov dword [esp + 0xa0], edx
call fcn.004ba2ba
xor ecx, ecx
add esp, 4
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], esi
mov dword [esp + 0x11c], 3
mov word [eax], cx
mov dword [esp + 0x10], esi
push 1
push esi
lea edx, [esp + 0x11c]
push edx
lea eax, [esp + 0x43]
push eax
mov byte [esp + 0x380], 0x19
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x63]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [ebx + 0xfc]
lea eax, [esp + 0x28]
push eax
mov eax, dword [ebx + 0xf8]
push esi
push esi
push esi
push ecx
mov ecx, dword [ebp + 8]
push ebx
push edx
push eax
push ecx
lea edx, [esp + 0x21c]
push edx
call fcn.00452160
mov dword [esp + 0x4c], eax
cmp eax, esi
jne 0x459804
mov esi, dword [esp + 0x10]
test esi, esi
je 0x45995b
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov eax, dword [edi + 0x38]
test eax, eax
je 0x4585f6
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x370], 0x18
mov dword [edi + 0x38], esi
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov byte [esp + 0x370], 0x13
mov eax, dword [esp + 0x114]
push eax
call fcn.004ba2af
mov edi, dword [esp + 0xa0]
add esp, 4
mov dword [edi + 0x1c], ebx
mov eax, dword [esp + 0x18]
mov esi, eax
test eax, eax
je 0x45863d
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [edi + 0x20]
test eax, eax
je 0x45864c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [edi + 0x20], esi
mov eax, dword [esp + 0x20]
mov esi, eax
test eax, eax
je 0x458661
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [edi + 0x24]
test eax, eax
je 0x458670
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [esp + 0x48]
mov dword [edi + 0x24], esi
mov eax, dword [ebx + 0x118]
mov esi, dword [eax + ecx*4]
lea edx, [esp + 0x68]
mov eax, edi
mov dword [edi + 0x14], esi
mov dword [edi + 0x10], edx
mov dword [edi + 0x18], 0
mov byte [edi + 1], 0
call fcn.00455a70
mov dword [esp + 0x4c], eax
test eax, eax
mov eax, dword [esp + 0x2c]
jne 0x459a9b
cmp dword [esp + 0x1c], 0
lea ecx, [esp + 0x68]
mov dword [eax + 0x18], ebx
mov dword [eax + 0x14], esi
mov dword [eax + 0x10], ecx
je 0x4586d0
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x4586e3
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push ecx
call eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [ebp + 0x24]
mov dword [eax + 0xc], ecx
cmp byte [edx + 0x2b], 0
je 0x458713
mov eax, dword [esp + 0x1d0]
push eax
mov byte [esp + 0x1e0], 0
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x458713
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [ebp + 0x14]
mov edx, dword [ecx + 0x54]
mov esi, dword [ebp + 0x18]
push 0x18
mov dword [esp + 0x14], edx
add esi, 0x54
call fcn.004ba280
add esp, 4
test eax, eax
je 0x45874d
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [esp + 0x9c], eax
jmp 0x458758
mov dword [esp + 0x9c], 0
call fcn.0041bab0
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov ecx, dword [esp + 0x9c]
mov dword [edx + eax*4], ecx
inc dword [esi + 4]
mov edx, dword [ebp + 0x18]
mov esi, dword [esp + 0x28]
push esi
lea eax, [edx + 0x30]
push eax
mov eax, dword [esp + 0x18]
push eax
lea eax, [esp + 0x1d0]
push eax
add edx, 0x24
push edx
mov edx, dword [esp + 0x40]
push ecx
lea ecx, [esp + 0x144]
push ecx
push edx
lea eax, [esp + 0x2a4]
push eax
call fcn.0046fd00
mov dword [esp + 0x10], eax
cmp eax, 0x20000002
je 0x459ba2
mov ecx, dword [ebp + 0x24]
cmp byte [ecx + 0x2b], 0
je 0x458924
mov edx, dword [esp + 0x1d4]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x244]
cmp eax, 1
je 0x459ca9
test eax, eax
jne 0x459cec
cmp dword [esp + 0x10], eax
jne 0x45881d
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 0xb4]
jne 0x458815
mov ecx, dword [esp + 0x90]
cmp ecx, dword [esp + 0xb8]
je 0x45894a
mov dword [esp + 0x10], 0x80004005
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x370], 0x12
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x370], 0x11
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x458849
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x68]
push eax
call fcn.004ba2af
add esp, 4
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4588ae
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1cc]
push eax
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov eax, dword [esp + 0x54]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x4596d7
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x4596d7
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x3c]
mov dword [esp + 0x4c], eax
cmp eax, 1
je 0x459d01
test eax, eax
jne 0x459d18
cmp dword [esp + 0x10], eax
jne 0x45881d
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 0x18]
mov eax, dword [eax + 4]
sub edi, eax
neg edi
sbb edi, edi
and edi, 0x80004005
mov dword [esp + 0x4c], edi
jne 0x459cdb
mov ecx, dword [esp + 0x1c4]
cmp ecx, dword [esp + 0xb4]
jne 0x459ba2
mov edi, dword [esp + 0x1c8]
cmp edi, dword [esp + 0xb8]
jne 0x459ba2
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x370], 0x12
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x370], 0x11
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4589bd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [esp + 0xa0]
mov edx, dword [ebp + 0x18]
cmp ecx, dword [edx + 0x34]
jae 0x4589e6
lea esp, [esp]
mov eax, dword [edx + 0x30]
mov ebx, dword [eax + ecx*8]
add dword [esi + 0x28], ebx
mov eax, dword [eax + ecx*8 + 4]
adc dword [esi + 0x2c], eax
inc ecx
cmp ecx, dword [edx + 0x34]
jb 0x4589d0
mov ecx, dword [esp + 0x1c4]
add dword [esi + 0x20], ecx
adc dword [esi + 0x24], edi
mov byte [esp + 0x370], 0x10
mov edx, dword [esp + 0x68]
push edx
call fcn.004ba2af
mov ebx, dword [ebp + 0xc]
add esp, 4
mov eax, dword [esp + 0xa4]
mov esi, dword [ebp + 0x18]
mov edi, dword [eax + 4]
add esi, 0x18
call fcn.0041bab0
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov dword [edx + ecx*4], edi
inc dword [esi + 4]
cmp dword [esp + 0x38], 0
mov eax, dword [ebx + 0x118]
mov ecx, dword [esp + 0x48]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x10], 0
jbe 0x458bfe
jmp 0x458a50
lea ecx, [esp + 0x33c]
lea edx, [esp + 0x13c]
mov eax, edi
mov esi, ebx
mov dword [esp + 0x14c], 1
call fcn.00456470
push 8
call fcn.004ba2ba
xor edx, edx
add esp, 4
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], 3
mov word [eax], dx
push edi
push ebx
lea eax, [esp + 0x1b0]
mov byte [esp + 0x378], 0x1a
call fcn.00436610
cmp byte [esp + 0x14c], 0
je 0x458bd7
mov eax, dword [esp + 0x24]
mov eax, dword [eax + edi*4]
inc dword [esp + 0x10]
test eax, eax
js 0x458bd7
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x38], 0
mov dword [esp + 0xa4], eax
je 0x458aff
mov byte [esp + 0x370], 0x10
mov eax, dword [esp + 0x1a8]
push eax
jmp 0x458be7
cmp byte [eax + 0x39], 0
je 0x458bb9
mov ebx, dword [esp + 0xa4]
lea ecx, [esp + 0x33c]
lea esi, [esp + 0x16c]
mov eax, ebx
mov byte [esp + 0x17d], 0
mov byte [esp + 0x17f], 0
call fcn.004558b0
movzx edx, byte [esp + 0x14e]
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x148]
mov esi, dword [esp + 0x140]
mov byte [esp + 0x17e], dl
movzx edx, byte [esp + 0x14c]
mov byte [esp + 0x17c], dl
mov edx, dword [esp + 0x180]
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x148], ecx
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x140], esi
add ebx, 0x28
lea esi, [esp + 0x1a8]
mov dword [esp + 0x144], eax
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], edx
call fcn.00418070
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x18]
lea eax, [esp + 0x1a8]
push eax
lea eax, [esp + 0x340]
lea ecx, [esp + 0x140]
call fcn.0045cc50
mov byte [esp + 0x370], 0x10
mov ecx, dword [esp + 0x1a8]
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0x14]
add esp, 4
inc edi
cmp edx, dword [esp + 0x38]
jb 0x458a50
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x60]
inc eax
mov dword [esp + 0xbc], eax
cmp eax, dword [ecx + 0x10]
jb 0x457f7a
mov edx, dword [esp + 0x60]
mov edi, dword [edx + 4]
xor esi, esi
mov dword [esp + 0x10], edi
cmp edi, esi
jne 0x458c64
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov byte [esp + 0x370], 0xa
mov eax, dword [esp + 0xe8]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
jmp 0x459361
mov dword [esp + 0xa8], esi
mov dword [esp + 0xb0], esi
mov byte [esp + 0x370], 0x1b
mov dword [esp + 0xac], esi
cmp edi, esi
jbe 0x458cc5
push esi
call fcn.004ba2af
xor ecx, ecx
add esp, 4
mov eax, edi
mov edx, 0x14
mul edx
seto cl
mov dword [esp + 0xa8], esi
mov dword [esp + 0xb0], esi
neg ecx
or ecx, eax
push ecx
call fcn.004ba2ba
add esp, 4
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb0], edi
mov eax, dword [ebp + 0x24]
cmp byte [eax + 0x29], 0
mov dword [esp + 0xac], edi
je 0x458cf2
cmp dword [esp + 0x110], esi
ja 0x458ce8
cmp dword [esp + 0x10c], 1
jbe 0x458cf2
mov byte [esp + 0xc0], 1
jmp 0x458cfa
mov byte [esp + 0xc0], 0
cmp edi, esi
jbe 0x458d5a
mov edi, dword [esp + 0xa8]
mov ecx, dword [esp + 0x60]
mov edx, dword [ecx]
mov ecx, dword [edx + esi*4]
lea eax, [edx + esi*4]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0xc0]
mov eax, dword [eax]
push edx
push eax
lea ebx, [esp + 0x144]
call fcn.00454ba0
mov ecx, dword [eax]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov ecx, dword [eax + 8]
mov dword [edi + 8], ecx
mov edx, dword [eax + 0xc]
mov dword [edi + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [edi + 0x10], eax
inc esi
add edi, 0x14
cmp esi, dword [esp + 0x10]
jb 0x458d05
mov edi, dword [esp + 0x10]
mov cl, byte [esp + 0xc0]
lea edx, [esp + 0x52]
push edx
lea eax, [esp + 0xac]
mov byte [esp + 0x56], cl
call fcn.0045a7a0
xor ecx, ecx
mov eax, edi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004ba2ba
add esp, 4
mov dword [esp + 0x38], eax
xor ecx, ecx
mov byte [esp + 0x370], 0x1c
test edi, edi
je 0x458dbd
mov edx, dword [esp + 0xa8]
add edx, 4
lea ecx, [ecx]
mov esi, dword [edx]
mov dword [eax + ecx*4], esi
inc ecx
add edx, 0x14
cmp ecx, edi
jb 0x458db0
mov dword [esp + 0x1c], 0
test edi, edi
je 0x459314
mov esi, dword [esp + 0x1c]
xor edi, edi
xor ebx, ebx
mov dword [esp + 0x164], edi
mov dword [esp + 0x168], edi
mov dword [esp + 0x14], edi
cmp esi, dword [esp + 0x10]
jae 0x458f1c
xor eax, eax
cmp eax, dword [esp + 0x110]
ja 0x458f13
jb 0x458e0f
cmp ebx, dword [esp + 0x10c]
jae 0x458f13
mov ecx, dword [esp + 0x38]
lea eax, [ebx + esi]
mov edx, dword [ecx + eax*4]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + edx*4]
mov eax, dword [edx + 0x20]
add dword [esp + 0x164], eax
mov eax, dword [esp + 0x168]
mov ecx, dword [ebp + 0x24]
adc eax, dword [edx + 0x24]
mov dword [esp + 0x168], eax
cmp eax, dword [ecx + 0x24]
ja 0x458f13
jb 0x458e5a
mov eax, dword [esp + 0x164]
cmp eax, dword [ecx + 0x20]
ja 0x458f13
mov eax, dword [ebp + 0x24]
cmp byte [eax + 0x28], 0
je 0x458f05
mov eax, dword [edx + 0x2c]
cmp eax, edi
jne 0x458e73
or eax, 0xffffffff
jmp 0x458ea0
mov edi, dword [edx + 0x28]
movzx ecx, word [edi + eax*2 - 2]
lea eax, [edi + eax*2 - 2]
cmp ecx, 0x5c
je 0x458e9a
cmp cx, 0x2f
je 0x458e9a
cmp eax, edi
je 0x458eac
movzx ecx, word [eax - 2]
sub eax, 2
cmp ecx, 0x5c
jne 0x458e84
sub eax, edi
sar eax, 1
xor edi, edi
mov ecx, dword [edx + 0x2c]
cmp ecx, edi
jne 0x458eb1
or ecx, 0xffffffff
jmp 0x458ed8
or eax, 0xffffffff
jmp 0x458e9e
mov edi, dword [edx + 0x28]
cmp word [edi + ecx*2 - 2], 0x2e
lea ecx, [edi + ecx*2 - 2]
je 0x458ecd
cmp ecx, edi
je 0x458ed3
sub ecx, 2
cmp word [ecx], 0x2e
jne 0x458ec0
sub ecx, edi
sar ecx, 1
jmp 0x458ed6
or ecx, 0xffffffff
xor edi, edi
cmp ecx, eax
jg 0x458ee1
mov eax, dword [edx + 0x2c]
jmp 0x458ee4
lea eax, [ecx + 1]
mov ecx, dword [edx + 0x28]
lea ecx, [ecx + eax*2]
cmp ebx, edi
jne 0x458ef4
mov dword [esp + 0x14], ecx
jmp 0x458f05
mov edx, dword [esp + 0x14]
push edx
call fcn.00417870
add esp, 4
test al, al
je 0x458f13
inc ebx
lea eax, [ebx + esi]
cmp eax, dword [esp + 0x10]
jb 0x458df1
mov dword [esp + 0x2c], ebx
cmp ebx, 1
jae 0x458f24
mov dword [esp + 0x2c], 1
mov ebx, dword [esp + 0x28]
mov ecx, dword [ebx]
mov edx, dword [ecx + 0xc]
push edi
push edi
push ebx
call edx
mov dword [esp + 0x4c], eax
cmp eax, edi
jne 0x459e53
push 0x60
call fcn.004ba280
add esp, 4
cmp eax, edi
je 0x458f8a
mov dword [eax + 4], vtable.ICompressGetSubStreamSize.0
mov dword [eax + 8], edi
mov dword [eax], vtable.NArchive::N7z::CFolderInStream.0
mov dword [eax + 4], vtable.NArchive::N7z::CFolderInStream.1.0
mov dword [eax + 0xc], edi
mov dword [eax + 0x34], edi
mov dword [eax + 0x38], edi
mov dword [eax + 0x3c], edi
mov dword [eax + 0x40], edi
mov dword [eax + 0x44], edi
mov dword [eax + 0x48], edi
mov dword [eax + 0x4c], edi
mov dword [eax + 0x50], edi
mov dword [eax + 0x54], edi
mov dword [eax + 0x58], edi
mov dword [esp + 0x48], eax
jmp 0x458f90
mov dword [esp + 0x48], edi
mov eax, edi
mov dword [esp + 0x104], eax
cmp eax, edi
je 0x458fa3
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov edx, dword [ebp + 0x20]
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x48]
mov byte [esp + 0x370], 0x1d
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
lea eax, [eax + ecx*4]
push eax
push edx
mov dword [esp + 0xa8], eax
call fcn.00471450
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x18]
mov ecx, dword [eax + 0x54]
mov edi, dword [esi + 0x34]
push 0x18
mov dword [esp + 0xa8], ecx
add esi, 0x54
call fcn.004ba280
add esp, 4
test eax, eax
je 0x45900c
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [esp + 0x14], eax
jmp 0x459014
mov dword [esp + 0x14], 0
call fcn.0041bab0
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov eax, dword [esp + 0x14]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp + 0x18]
inc dword [esi + 4]
mov edx, dword [esp + 0xa4]
push ebx
lea esi, [ecx + 0x30]
push esi
push edx
lea edx, [esp + 0x1c0]
push edx
add ecx, 0x24
push ecx
mov ecx, dword [esp + 0x5c]
push eax
lea eax, [esp + 0x144]
push eax
push ecx
lea edx, [esp + 0x2a4]
push edx
call fcn.0046fd00
mov dword [esp + 0x4c], eax
test eax, eax
mov eax, dword [esp + 0x48]
jne 0x459ef6
mov ecx, dword [eax + 0x30]
cmp ecx, dword [eax + 0x2c]
jne 0x459f0b
mov ecx, dword [ebp + 0x18]
cmp edi, dword [ecx + 0x34]
jae 0x459098
mov eax, dword [esi]
mov edx, dword [eax + edi*8]
add dword [ebx + 0x28], edx
mov eax, dword [eax + edi*8 + 4]
adc dword [ebx + 0x2c], eax
inc edi
cmp edi, dword [ecx + 0x34]
jb 0x459083
mov ecx, dword [esp + 0x1b4]
add dword [ebx + 0x20], ecx
mov edx, dword [esp + 0x1b8]
adc dword [ebx + 0x24], edx
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], eax
mov dword [esp + 0x14], eax
cmp dword [esp + 0x2c], eax
jbe 0x459270
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0xbc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov edi, dword [ecx + edx*4]
push 8
mov dword [esp + 0x150], 1
call fcn.004ba2ba
xor edx, edx
add esp, 4
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 3
mov word [eax], dx
mov byte [esp + 0x370], 0x1e
lea ecx, [esp + 0x16c]
cmp byte [edi + 0x39], dl
je 0x45915b
lea esi, [esp + 0x13c]
mov eax, edi
call fcn.004558b0
lea ebx, [edi + 0x28]
lea esi, [esp + 0x198]
call fcn.00418070
mov ebx, dword [esp + 0x28]
jmp 0x45917e
mov eax, dword [edi]
mov esi, dword [ebp + 0xc]
lea edx, [esp + 0x13c]
call fcn.00456470
mov eax, dword [edi]
push eax
mov ecx, esi
push ecx
lea eax, [esp + 0x1a0]
call fcn.00436610
cmp byte [esp + 0x190], 0
jne 0x459fbe
cmp byte [esp + 0x14d], 0
jne 0x459fbe
mov eax, dword [esp + 0x48]
mov edx, dword [eax + 0x38]
mov esi, dword [esp + 0x14]
cmp byte [esi + edx], 0
jne 0x4591d4
mov eax, dword [edi + 0x20]
mov ecx, dword [edi + 0x24]
add dword [esp + 0x124], eax
mov byte [esp + 0x370], 0x1d
mov edx, dword [esp + 0x198]
adc dword [esp + 0x128], ecx
push edx
jmp 0x459251
mov ecx, dword [eax + 0x44]
mov edx, dword [ecx + esi*4]
mov ecx, dword [eax + 0x50]
mov eax, dword [ecx + esi*8]
mov ecx, dword [ecx + esi*8 + 4]
mov dword [esp + 0x13c], eax
or eax, ecx
mov dword [esp + 0x148], edx
mov dword [esp + 0x140], ecx
je 0x459213
inc dword [esp + 0x60]
mov byte [esp + 0x14e], 1
mov byte [esp + 0x14c], 1
jmp 0x459223
mov byte [esp + 0x14e], 0
mov byte [esp + 0x14c], 0
mov edx, dword [ebp + 0x18]
lea eax, [esp + 0x198]
push eax
lea eax, [esp + 0x170]
lea ecx, [esp + 0x140]
call fcn.0045cc50
mov byte [esp + 0x370], 0x1d
mov ecx, dword [esp + 0x198]
push ecx
call fcn.004ba2af
add dword [esp + 0xc0], 4
inc esi
add esp, 4
mov dword [esp + 0x14], esi
cmp esi, dword [esp + 0x2c]
jb 0x4590dc
mov esi, dword [ebp + 0x18]
add esi, 0x18
call fcn.0041bab0
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov ecx, dword [esp + 0x60]
mov dword [eax + edx*4], ecx
inc dword [esi + 4]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x124]
add esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x128]
mov eax, ecx
or eax, edx
mov dword [esp + 0x1c], esi
je 0x4592f2
mov eax, dword [esp + 0x98]
cmp eax, edx
jb 0x4592f2
ja 0x4592c0
cmp dword [esp + 0x94], ecx
jb 0x4592f2
mov edi, dword [esp + 0x94]
sub edi, ecx
mov ecx, dword [ebp + 0x20]
sbb eax, edx
mov edx, dword [ecx]
push eax
push edi
mov dword [esp + 0xa0], eax
mov eax, dword [edx + 0xc]
push ecx
mov dword [esp + 0xa0], edi
call eax
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x459fd7
mov eax, dword [esp + 0x48]
mov byte [esp + 0x370], 0x1c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp esi, dword [esp + 0x10]
jb 0x458dcd
mov eax, dword [esp + 0x38]
push eax
call fcn.004ba2af
mov eax, dword [esp + 0xac]
add esp, 4
push eax
call fcn.004ba2af
add esp, 4
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov byte [esp + 0x370], 0xa
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
cmp eax, dword [esp + 0x58]
jb 0x457e70
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx]
mov ecx, dword [eax + 0xc]
mov esi, dword [esp + 0x30]
push 0
push 0
push ebx
call ecx
mov edi, eax
test edi, edi
je 0x459fe8
mov byte [esp + 0x370], 8
test esi, esi
je 0x4593ba
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
lea ecx, [esp + 0x1cc]
push ecx
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov byte [esp + 0x370], 4
mov edx, dword [ebx]
mov eax, dword [edx + 8]
push ebx
call eax
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x456fe7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x456fe7
mov eax, dword [esp + 0xe8]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x459470
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x1cc]
push ecx
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x4594dd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4594f8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov eax, dword [esp + 0xe8]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x45956d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x1cc]
push ecx
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x4595da
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4595f5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov eax, dword [esp + 0xe8]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x45966a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x1cc]
push ecx
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x4596d7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4596f2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x64afe4
lea eax, [esp + 0xa8]
push eax
mov dword [esp + 0xac], 0x1330368
call fcn.005c75bb
mov ecx, dword [esp + 0x68]
push ecx
call fcn.004ba2af
add esp, 4
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov edx, dword [esp + 0xe8]
push edx
call fcn.004ba2af
mov eax, dword [esp + 0xd4]
add esp, 4
push eax
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x45978e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1cc]
push eax
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov eax, dword [esp + 0x54]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x4595da
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x4595da
mov byte [esp + 0x370], 0x18
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x45981c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x114]
push eax
call fcn.004ba2af
mov eax, dword [esp + 0x30]
add esp, 4
mov byte [esp + 0x370], 0x12
cmp eax, esi
je 0x459844
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x370], 0x11
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov edx, dword [esp + 0x68]
push edx
call fcn.004ba2af
add esp, 4
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov eax, dword [esp + 0xe8]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
cmp eax, esi
je 0x4598b9
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x1cc]
push ecx
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x459926
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x459941
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x114]
push eax
call fcn.004ba2af
mov eax, dword [esp + 0x30]
add esp, 4
mov byte [esp + 0x370], 0x12
test eax, eax
je 0x459983
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x370], 0x11
mov eax, dword [edi]
mov ecx, dword [eax + 8]
push edi
call ecx
mov edx, dword [esp + 0x68]
push edx
call fcn.004ba2af
add esp, 4
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov eax, dword [esp + 0xe8]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4599f8
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x1cc]
push ecx
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov ecx, dword [esp + 0x54]
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x459a65
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x459a80
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 0x80004005
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x370], 0x12
test eax, eax
je 0x459aaf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x370], 0x11
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x459ac7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x68]
push eax
call fcn.004ba2af
add esp, 4
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x459b2c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1cc]
push eax
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov eax, dword [esp + 0x54]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x459926
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x459926
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x370], 0x12
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x370], 0x11
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x459bce
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x68]
push eax
call fcn.004ba2af
add esp, 4
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x459c33
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1cc]
push eax
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 8]
call edx
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov eax, dword [esp + 0x54]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x459a65
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x459a65
mov eax, dword [esp + 0x20]
test eax, eax
je 0x459ba2
mov ebx, dword [ebx + 0x118]
mov edx, dword [esp + 0x48]
mov edx, dword [ebx + edx*4]
push 2
push edx
push 1
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 0x14]
call eax
mov dword [esp + 0x4c], eax
test eax, eax
je 0x459ba2
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x370], 0x12
jmp 0x459aa7
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x370], 0x12
jmp 0x459aa7
mov eax, dword [esp + 0x20]
test eax, eax
je 0x459ba2
mov edx, dword [esp + 0x48]
push 2
push edx
push 2
jmp 0x459cc7
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x370], 0x12
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x370], 0x11
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x459d44
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x68]
push eax
call fcn.004ba2af
add esp, 4
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004ba2af
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x459da9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1cc]
push eax
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov eax, dword [esp + 0x54]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x459e16
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x459e31
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x38]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0xac]
add esp, 4
push ecx
call fcn.004ba2af
add esp, 4
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov edx, dword [esp + 0xe8]
push edx
call fcn.004ba2af
mov eax, dword [esp + 0xd4]
add esp, 4
push eax
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x459ec8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1cc]
push eax
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov byte [esp + 0x370], 4
mov ecx, dword [ebx]
push ebx
jmp 0x459b59
mov byte [esp + 0x370], 0x1c
test eax, eax
je 0x459e53
jmp 0x459e4b
mov byte [esp + 0x370], 0x1c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x38]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0xac]
add esp, 4
push ecx
call fcn.004ba2af
add esp, 4
lea eax, [esp + 0x284]
mov byte [esp + 0x370], 0xf
call fcn.00471120
mov edx, dword [esp + 0xe8]
push edx
call fcn.004ba2af
mov eax, dword [esp + 0xd4]
add esp, 4
push eax
call fcn.004ba2af
add esp, 4
lea edi, [esp + 0xc4]
call fcn.0043c480
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x459f90
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1cc]
push eax
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov byte [esp + 0x370], 4
mov ecx, dword [ebx]
push ebx
jmp 0x459c60
mov eax, dword [esp + 0x198]
push eax
call fcn.004ba2af
mov eax, dword [esp + 0x4c]
add esp, 4
jmp 0x459f0b
mov eax, dword [esp + 0x48]
mov byte [esp + 0x370], 0x1c
jmp 0x459e4b
mov edi, dword [ebp + 0x18]
call fcn.004540b0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x45a047
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
push 7
push 0xffffffffffffffff
push 0
push eax
call edx
mov edi, eax
test edi, edi
je 0x45a047
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x45a024
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1cc]
push eax
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
jmp 0x456f98
mov byte [esp + 0x370], 8
mov eax, dword [esp + 0x30]
test eax, eax
je 0x45a05f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1cc]
push eax
mov byte [esp + 0x374], 7
call fcn.004561d0
lea esi, [esp + 0x74]
call fcn.00453ac0
mov eax, dword [esp + 0x28]
mov byte [esp + 0x370], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x3c]
call fcn.0045a750
mov eax, dword [esp + 0x54]
push eax
call fcn.004ba2af
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call fcn.004ba2af
mov byte [esp + 0x374], 0
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
je 0x45a0cc
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x370], 0xffffffff
mov eax, dword [esp + 0x18]
test eax, eax
je 0x45a0e7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor eax, eax
mov ecx, dword [esp + 0x368]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret