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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5d7305
mov eax, dword fs:[0]
push eax
sub esp, 0x360
push ebx
push esi
push edi
mov eax, dword [0x63ae80]
xor eax, esp
push eax
lea eax, [esp + 0x370]
mov dword fs:[0], eax
mov ecx, dword [ebp + 0x24]
mov eax, dword [ecx + 0x18]
mov ecx, dword [ecx + 0x1c]
mov dword [esp + 0x114], eax
xor esi, esi
or eax, ecx
mov dword [esp + 0x118], ecx
jne 0x44e921
mov dword [esp + 0x114], 1
mov dword [esp + 0x118], eax
mov dword [esp + 0x14], esi
mov edi, dword [ebp + 0x20]
lea ecx, [esp + 0x14]
push ecx
mov dword [esp + 0x37c], esi
mov eax, dword [edi]
mov edx, dword [eax]
push 0x60e314
push edi
call edx
mov dword [esp + 0x2c], esi
lea ecx, [esp + 0x2c]
push ecx
mov byte [esp + 0x37c], 1
mov eax, dword [edi]
mov edx, dword [eax]
push 0x60e2d4
push edi
call edx
mov ebx, dword [ebp + 0xc]
cmp ebx, esi
je 0x44ea14
mov edi, dword [ebx + 0xec]
mov eax, dword [ebx + 0xe8]
mov dword [esp + 0x1b4], eax
cmp edi, esi
ja 0x44e987
cmp eax, esi
jbe 0x44ea14
mov eax, dword [ebp + 0x24]
cmp byte [eax + 0x2a], 0
jne 0x44ea14
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 0x44e9c3
mov ecx, dword [ebp + 0x1c]
push eax
mov eax, dword [esp + 0x1b8]
push edi
push eax
push ecx
mov ecx, esi
call fcn.0044ca20
add esp, 0x10
mov esi, eax
test esi, esi
je 0x44ea14
mov byte [esp + 0x378], 0
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x44e9e1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x44e9fc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, esi
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edi, edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0xac], edi
mov dword [esp + 0xb0], edi
mov byte [esp + 0x5e], 0
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
mov byte [esp + 0x378], 4
mov byte [esp + 0x3b], 0
cmp ebx, edi
je 0x44ee83
mov esi, dword [ebx + 0x5c]
push edi
call fcn.004a4d8a
xor ecx, ecx
add esp, 4
mov eax, esi
mov edx, 4
mul edx
seto cl
mov dword [esp + 0x28], edi
neg ecx
or ecx, eax
push ecx
call fcn.004a4d50
xor ecx, ecx
add esp, 4
mov dword [esp + 0x28], eax
cmp dword [ebx + 0x5c], ecx
jbe 0x44eaad
mov edi, edi
mov dword [eax + ecx*4], 0xffffffff
inc ecx
cmp ecx, dword [ebx + 0x5c]
jb 0x44eaa0
mov esi, dword [ebp + 0x10]
xor ecx, ecx
cmp dword [esi + 4], ecx
jbe 0x44eacc
mov edx, dword [esi]
mov edx, dword [edx + ecx*4]
mov edx, dword [edx]
cmp edx, 0xffffffff
je 0x44eac6
mov dword [eax + edx*4], ecx
inc ecx
cmp ecx, dword [esi + 4]
jb 0x44eab7
xor edi, edi
mov dword [esp + 0x3c], edi
cmp dword [ebx + 4], edi
jbe 0x44ee81
jmp 0x44eae0
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax + edi*4]
mov eax, dword [ebx + 0x118]
mov eax, dword [eax + edi*4]
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x110], edx
cmp ecx, edx
jbe 0x44ee73
mov ecx, dword [esp + 0x28]
lea esi, [ecx + eax*4]
mov ecx, dword [ebx + 0x58]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
cmp byte [eax + 0x10], 0
je 0x44eb58
mov ecx, dword [esi]
inc edx
test ecx, ecx
js 0x44eb58
mov edi, dword [ebp + 0x10]
mov edi, dword [edi]
mov ecx, dword [edi + ecx*4]
cmp byte [ecx + 0x38], 0
mov edi, dword [esp + 0x3c]
jne 0x44eb58
mov ecx, dword [eax]
inc dword [esp + 0x18]
add dword [esp + 0x10c], ecx
mov ecx, dword [eax + 4]
adc dword [esp + 0x110], ecx
add eax, 0x18
add esi, 4
cmp edx, dword [esp + 0xf8]
jb 0x44eb22
cmp dword [esp + 0x18], 0
je 0x44ee73
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 + 0x378], 5
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + edi*4]
mov edx, dword [ebx + 0x3c]
mov eax, dword [eax + edi*4 + 4]
add edx, ecx
sub eax, ecx
mov dword [esp + 0x11c], edx
lea edx, [esp + 0x16c]
mov dword [esp + 0x120], eax
push edx
lea eax, [esp + 0x120]
mov dword [esp + 0x128], esi
call fcn.0042d960
mov eax, dword [esp + 0x120]
sub eax, dword [esp + 0x124]
jne 0x44eeec
mov eax, dword [ebx + 0x34]
movzx ecx, byte [eax + edi]
mov edx, dword [esp + 0x170]
xor eax, eax
mov dword [esp + 0x184], ecx
cmp edx, esi
jbe 0x44ec2b
mov ecx, dword [esp + 0x16c]
cmp dword [ecx], 0x6f10701
jne 0x44ec23
cmp dword [ecx + 4], esi
je 0x44ec80
inc eax
add ecx, 0x18
cmp eax, edx
jb 0x44ec16
mov byte [esp + 0x5f], 0
lea edx, [esp + 0x60]
push edx
lea esi, [esp + 0x170]
call fcn.0044c8b0
add esp, 4
mov dword [esp + 0x4c], eax
cmp eax, dword [esp + 0x44]
jb 0x44ed1d
mov esi, dword [esp + 0x44]
push 0x18
call fcn.004a4d50
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x44ec87
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 + 0xa8], eax
jmp 0x44ec8e
mov byte [esp + 0x5f], 1
jmp 0x44ec30
mov dword [esp + 0xa8], ecx
cmp esi, dword [esp + 0x48]
jne 0x44ecfc
mov eax, dword [esp + 0x48]
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.004a4d50
add esp, 4
cmp dword [esp + 0x44], 0
mov edi, eax
je 0x44ecdf
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
lea ecx, [eax*4]
push ecx
push edx
push edi
call fcn.005a9de0
add esp, 0xc
mov eax, dword [esp + 0x40]
push eax
call fcn.004a4d8a
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x40]
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x48]
add esp, 4
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xa8]
mov dword [ecx + esi*4], edx
inc esi
mov dword [esp + 0x44], esi
cmp dword [esp + 0x4c], esi
jae 0x44ec56
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
mov esi, dword [ecx + eax*4]
mov eax, dword [esi + 0x14]
cmp dword [esi + 0x10], eax
jne 0x44ed86
mov edx, eax
shr edx, 2
lea edi, [edx + eax + 1]
xor ecx, ecx
mov eax, edi
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a4d50
mov ebx, eax
mov eax, dword [esi + 0x10]
add esp, 4
test eax, eax
je 0x44ed6d
mov ecx, dword [esi + 0xc]
add eax, eax
add eax, eax
add eax, eax
push eax
push ecx
push ebx
call fcn.005a9de0
add esp, 0xc
mov eax, dword [esi + 0xc]
push eax
call fcn.004a4d8a
mov dword [esi + 0xc], ebx
mov ebx, dword [ebp + 0xc]
mov dword [esi + 0x14], edi
mov edi, dword [esp + 0x40]
add esp, 4
mov ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
mov edx, dword [esp + 0x18]
mov dword [eax + ecx*8], edi
mov dword [eax + ecx*8 + 4], edx
inc dword [esi + 0x10]
cmp edx, dword [esp + 0xf8]
jne 0x44edce
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x30]
mov edx, dword [ecx + edi*4 + 4]
mov esi, dword [eax + edx*8]
mov ecx, dword [ecx + edi*4]
sub esi, dword [eax + ecx*8]
mov edx, dword [eax + edx*8 + 4]
sbb edx, dword [eax + ecx*8 + 4]
add dword [esp + 0x8c], esi
adc dword [esp + 0x90], edx
jmp 0x44ee1d
mov ecx, dword [esp + 0x10c]
add dword [esp + 0x8c], ecx
mov eax, dword [esp + 0x110]
mov byte [esp + 0x3b], 1
adc dword [esp + 0x90], eax
cmp dword [esp + 0xb0], eax
ja 0x44ee11
jb 0x44ee03
cmp dword [esp + 0xac], ecx
jae 0x44ee11
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
cmp byte [esp + 0x5f], 0
je 0x44ee1d
mov byte [esp + 0x5e], 1
mov byte [esp + 0x378], 4
mov eax, dword [esp + 0x17c]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0x178]
add esp, 4
push ecx
call fcn.004a4d8a
add esp, 4
cmp dword [esp + 0x16c], 0
je 0x44ee73
mov eax, dword [esp + 0x16c]
mov edx, dword [eax - 4]
lea esi, [eax - 4]
push 0x431390
push edx
push 0x18
push eax
call fcn.005a877a
push esi
call fcn.004a4d8a
add esp, 4
inc edi
mov dword [esp + 0x3c], edi
cmp edi, dword [ebx + 4]
jb 0x44eae0
xor edi, edi
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 4]
xor esi, esi
xor edx, edx
mov dword [esp + 0x13c], esi
mov dword [esp + 0x140], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], eax
cmp eax, edi
jbe 0x44ef33
mov eax, ecx
mov ecx, dword [eax]
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x54]
mov ecx, dword [eax]
cmp byte [ecx + 0x38], 0
je 0x44ef11
mov eax, dword [ecx + 0x20]
add dword [esp + 0x8c], eax
mov ecx, dword [ecx + 0x24]
adc dword [esp + 0x90], ecx
cmp dword [esp + 0x114], 1
jne 0x44eee6
cmp dword [esp + 0x118], edi
je 0x44ef03
add esi, eax
adc edx, ecx
jmp 0x44ef11
push 0x62ce6c
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x28], 0x1330368
call fcn.005afc95
cmp edx, ecx
ja 0x44ef11
jb 0x44ef0d
cmp esi, eax
jae 0x44ef11
mov esi, eax
mov edx, ecx
mov eax, dword [esp + 0x24]
add dword [esp + 0x54], 4
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0x20]
jb 0x44eeb3
mov dword [esp + 0x140], edx
mov dword [esp + 0x13c], esi
mov eax, dword [esp + 0xb0]
cmp edx, eax
ja 0x44ef5e
jb 0x44ef49
cmp esi, dword [esp + 0xac]
jae 0x44ef5e
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], eax
mov ecx, dword [esp + 0x90]
mov eax, dword [ebp + 0x20]
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
push ecx
mov ecx, dword [esp + 0x90]
push ecx
push eax
call edx
mov esi, eax
mov dword [esp + 0x20], esi
cmp esi, edi
je 0x44efe9
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
test edi, edi
je 0x44efc1
nop
mov esi, dword [ebx + edi*4 - 4]
dec edi
test esi, esi
je 0x44efb9
mov eax, dword [esi + 0xc]
push eax
call fcn.004a4d8a
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004a4d8a
add esp, 4
push esi
call fcn.004a4d8a
add esp, 4
test edi, edi
jne 0x44ef90
mov esi, dword [esp + 0x20]
push ebx
call fcn.004a4d8a
mov eax, dword [esp + 0x64]
add esp, 4
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0x2c]
add esp, 4
push ecx
call fcn.004a4d8a
add esp, 4
jmp 0x44e9c9
push 0x38
call fcn.004a4d50
add esp, 4
cmp eax, edi
je 0x44f026
mov dword [eax + 4], edi
mov dword [eax], vtable.CLocalProgress.0
mov dword [eax + 8], edi
mov dword [eax + 0xc], edi
mov ebx, eax
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 dword [esp + 0x1c], ebx
jmp 0x44f02c
mov dword [esp + 0x1c], edi
mov ebx, edi
mov dword [esp + 0x280], ebx
cmp ebx, edi
je 0x44f03f
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
lea esi, [ebx + 0xc]
mov byte [esp + 0x378], 6
mov eax, dword [esi]
test eax, eax
je 0x44f05e
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esi], 0
mov edi, dword [ebp + 0x20]
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
push edi
call edx
mov eax, dword [ebx + 8]
test eax, eax
je 0x44f078
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, edi
push esi
mov dword [ebx + 8], edi
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0x60e184
push eax
call edx
xor edi, edi
mov byte [ebx + 0x10], 1
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], edi
mov eax, dword [ebp + 0x24]
mov byte [esp + 0x378], 7
cmp byte [eax + 0x2b], 0
je 0x44f22d
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventA]
push edi
push edi
push edi
push edi
call esi
mov dword [esp + 0x6c], eax
cmp eax, edi
jne 0x44f0fd
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jne 0x44f0d4
mov eax, 1
mov dword [esp + 0x3c], eax
cmp eax, edi
je 0x44f22d
mov eax, dword [esp + 0x74]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, edi
je 0x44f133
push eax
call esi
test eax, eax
jne 0x44f133
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x44f137
push edi
push edi
push 1
push edi
call esi
mov dword [esp + 0x70], eax
cmp eax, edi
je 0x44f0c5
push edi
push edi
push 1
push edi
call esi
mov dword [esp + 0x74], eax
cmp eax, edi
jne 0x44f22d
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, edi
jne 0x44f0d4
mov dword [esp + 0x3c], 1
jmp 0x44f0e0
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x70]
cmp eax, edi
je 0x44f14e
push eax
call esi
test eax, eax
jne 0x44f14e
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x44f152
mov dword [esp + 0x70], edi
mov eax, dword [esp + 0x6c]
cmp eax, edi
je 0x44f169
push eax
call esi
test eax, eax
jne 0x44f169
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x44f16d
mov dword [esp + 0x6c], edi
mov byte [esp + 0x378], 4
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
test edi, edi
je 0x44f1bd
lea esp, [esp]
mov esi, dword [ebx + edi*4 - 4]
dec edi
test esi, esi
je 0x44f1b9
mov eax, dword [esi + 0xc]
push eax
call fcn.004a4d8a
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004a4d8a
add esp, 4
push esi
call fcn.004a4d8a
add esp, 4
test edi, edi
jne 0x44f190
push ebx
call fcn.004a4d8a
mov eax, dword [esp + 0x64]
add esp, 4
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0x2c]
add esp, 4
push ecx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x44f1f8
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x44f213
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x370]
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 + 0x1c8]
push ecx
call fcn.0044e3d0
mov byte [esp + 0x378], 8
cmp byte [esi + 0x2b], 0
je 0x44f385
cmp byte [esp + 0x3b], 0
je 0x44f385
lea esi, [esp + 0x1c4]
call fcn.00464ae0
mov esi, eax
mov dword [esp + 0x20], esi
cmp esi, edi
je 0x44f385
lea edx, [esp + 0x1c4]
push edx
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
mov eax, dword [esp + 0x74]
cmp eax, edi
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
je 0x44f2ab
push eax
call edi
test eax, eax
jne 0x44f2ab
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x44f2b3
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x70]
test eax, eax
je 0x44f2ca
push eax
call edi
test eax, eax
jne 0x44f2ca
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x44f2d2
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x44f2e9
push eax
call edi
test eax, eax
jne 0x44f2e9
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x44f2f1
mov dword [esp + 0x6c], 0
mov byte [esp + 0x378], 4
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
push ebx
call ecx
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
test edi, edi
je 0x44f341
lea ecx, [ecx]
mov esi, dword [ebx + edi*4 - 4]
dec edi
test esi, esi
je 0x44f339
mov eax, dword [esi + 0xc]
push eax
call fcn.004a4d8a
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004a4d8a
add esp, 4
push esi
call fcn.004a4d8a
add esp, 4
test edi, edi
jne 0x44f310
mov esi, dword [esp + 0x20]
push ebx
call fcn.004a4d8a
mov edx, dword [esp + 0x64]
add esp, 4
push edx
call fcn.004a4d8a
mov eax, dword [esp + 0x2c]
add esp, 4
push eax
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x44e9e1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x44e9e1
xor ebx, ebx
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], ebx
mov word [esp + 0x108], 1
mov byte [esp + 0x10a], bl
mov edi, dword [ebp + 0x24]
mov byte [esp + 0x378], 9
cmp dword [edi + 0xc], ebx
jne 0x44f3ce
mov word [esp + 0x108], bx
mov byte [esp + 0x10a], bl
jmp 0x44f412
mov eax, dword [esp + 0x14]
mov esi, eax
cmp eax, ebx
je 0x44f3e0
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [edi + 0xc]
mov ebx, esi
mov dword [esp + 0xfc], ebx
test eax, eax
jle 0x44f412
mov byte [esp + 0x108], 1
cmp eax, 7
jl 0x44f412
mov byte [esp + 0x109], 1
cmp eax, 9
jl 0x44f412
mov byte [esp + 0x10a], 1
mov al, byte [edi + 8]
mov ecx, dword [edi]
mov byte [esp + 0x3b], al
mov dword [esp + 0x54], ecx
test al, al
je 0x44f49f
mov edx, ecx
mov esi, dword [edx + 4]
xor edi, edi
test esi, esi
je 0x44f49f
mov eax, ecx
mov edx, dword [eax]
mov ecx, dword [edx]
cmp dword [ecx + 0x14], 0
mov eax, dword [ecx + 0x10]
ja 0x44f490
jb 0x44f448
cmp eax, 0xffffffff
ja 0x44f490
cmp eax, 0x3030205
ja 0x44f472
je 0x44f49a
cmp eax, 0x20304
ja 0x44f466
je 0x44f49a
cmp eax, 3
je 0x44f49a
cmp eax, 0x20302
jmp 0x44f48e
sub eax, 0x3030103
je 0x44f49a
sub eax, 0x18
jmp 0x44f48e
cmp eax, 0x3030701
ja 0x44f489
je 0x44f49a
cmp eax, 0x3030401
je 0x44f49a
cmp eax, 0x3030501
jmp 0x44f48e
cmp eax, 0x3030805
je 0x44f49a
inc edi
add edx, 4
cmp edi, esi
jb 0x44f436
jmp 0x44f49f
mov byte [esp + 0x3b], 0
mov edx, dword [ebp + 0x10]
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x24], ecx
cmp dword [edx + 4], edi
jbe 0x44f689
mov edi, dword [esp + 0x44]
mov eax, dword [edx]
mov eax, dword [eax + ecx*4]
cmp byte [eax + 0x38], 0
je 0x44f672
cmp byte [eax + 0x3b], 0
jne 0x44f672
cmp byte [eax + 0x3a], 0
jne 0x44f672
mov esi, dword [eax + 0x20]
or esi, dword [eax + 0x24]
je 0x44f672
xor ebx, ebx
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x120], ebx
mov byte [esp + 0x124], bl
cmp byte [esp + 0x3b], bl
je 0x44f527
lea edx, [esp + 0x11c]
push edx
push eax
push ecx
lea ecx, [esp + 0x108]
call fcn.0044cfe0
mov esi, eax
mov dword [esp + 0x20], esi
cmp esi, ebx
jne 0x44f718
mov eax, dword [esp + 0x54]
mov cl, byte [eax + 0x21]
mov byte [esp + 0x124], cl
lea ecx, [esp + 0x11c]
lea eax, [esp + 0x60]
call fcn.0044c830
mov dword [esp + 0xa8], eax
cmp eax, edi
jb 0x44f5f8
push 0x18
call fcn.004a4d50
add esp, 4
test eax, eax
je 0x44f579
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 ebx, eax
jmp 0x44f57b
xor ebx, ebx
cmp edi, dword [esp + 0x48]
jne 0x44f5df
mov eax, dword [esp + 0x48]
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.004a4d50
mov edi, eax
mov eax, dword [esp + 0x48]
add esp, 4
test eax, eax
je 0x44f5c6
mov ecx, dword [esp + 0x40]
add eax, eax
add eax, eax
push eax
push ecx
push edi
call fcn.005a9de0
add esp, 0xc
mov edx, dword [esp + 0x40]
push edx
call fcn.004a4d8a
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x48]
add esp, 4
mov dword [esp + 0x48], esi
mov eax, dword [esp + 0x40]
mov dword [eax + edi*4], ebx
inc edi
mov dword [esp + 0x44], edi
cmp dword [esp + 0xa8], edi
jae 0x44f554
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xa8]
mov esi, dword [ecx + edx*4]
mov eax, dword [esi + 8]
cmp dword [esi + 4], eax
jne 0x44f660
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.004a4d50
mov ebx, eax
mov eax, dword [esi + 4]
add esp, 4
test eax, eax
je 0x44f64c
mov ecx, dword [esi]
add eax, eax
add eax, eax
push eax
push ecx
push ebx
call fcn.005a9de0
add esp, 0xc
mov eax, dword [esi]
push eax
call fcn.004a4d8a
mov dword [esi + 8], edi
mov edi, dword [esp + 0x48]
add esp, 4
mov dword [esi], ebx
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov ecx, dword [esp + 0x24]
mov dword [eax + edx*4], ecx
inc dword [esi + 4]
mov edx, dword [ebp + 0x10]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, dword [edx + 4]
jb 0x44f4b7
mov ebx, dword [esp + 0xfc]
xor edi, edi
mov byte [esp + 0x378], 8
mov eax, dword [esp + 0x100]
push eax
call fcn.004a4d8a
add esp, 4
cmp ebx, edi
je 0x44f6ad
mov ecx, dword [ebx]
mov edx, dword [ecx + 8]
push ebx
call edx
mov dword [esp + 0x1a4], edi
mov dword [esp + 0x34], edi
mov byte [esp + 0x378], 0xa
cmp byte [esp + 0x5e], 0
je 0x44fbee
push 0x14
call fcn.004a4d50
mov esi, eax
add esp, 4
mov dword [esp + 0x58], esi
mov byte [esp + 0x378], 0xb
cmp esi, edi
je 0x44f805
mov dword [esi + 4], edi
mov dword [esi], vtable.NArchive::N7z::CCryptoGetTextPassword.0
push 8
mov dword [esi + 8], edi
call fcn.004a4d50
add esp, 4
xor ecx, ecx
mov dword [esi + 8], eax
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], 3
mov word [eax], cx
jmp 0x44f807
mov byte [esp + 0x378], 8
mov edx, dword [esp + 0x100]
push edx
call fcn.004a4d8a
mov eax, dword [esp + 0x100]
add esp, 4
cmp eax, ebx
je 0x44f743
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1c4]
push eax
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
mov eax, dword [esp + 0x74]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x44f775
push eax
call edi
test eax, eax
jne 0x44f775
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x44f779
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x44f790
push eax
call edi
test eax, eax
jne 0x44f790
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x44f794
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x44f7ab
push eax
call edi
test eax, eax
jne 0x44f7ab
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x44f7af
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
test edi, edi
je 0x44efc1
mov esi, dword [ebx + edi*4 - 4]
dec edi
test esi, esi
je 0x44f7fc
mov eax, dword [esi + 0xc]
push eax
call fcn.004a4d8a
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004a4d8a
add esp, 4
push esi
call fcn.004a4d8a
add esp, 4
test edi, edi
jne 0x44f7d3
jmp 0x44efbd
xor esi, esi
mov byte [esp + 0x378], 0xa
mov dword [esp + 0x1a4], esi
cmp esi, edi
je 0x44f822
mov edx, dword [esi]
mov eax, dword [edx + 4]
push esi
call eax
mov dword [esp + 0x34], esi
cmp esi, edi
je 0x44f832
mov ecx, dword [esi]
mov edx, dword [ecx + 4]
push esi
call edx
mov eax, dword [esp + 0x25c]
cmp eax, edi
je 0x44f845
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 + 0x25c], esi
cmp byte [eax + 0x21], 0
je 0x44f8bc
lea ebx, [eax + 0x24]
add esi, 8
cmp ebx, esi
je 0x44fbee
mov edi, dword [ebx + 4]
cmp edi, dword [esi + 8]
jbe 0x44f8a1
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a4d50
mov dword [esp + 0x24], eax
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004a4d8a
mov eax, dword [esp + 0x24]
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.005a9de0
add esp, 0xc
jmp 0x44fbee
mov eax, dword [ebp + 0x28]
cmp eax, edi
jne 0x44fa05
mov byte [esp + 0x378], 8
cmp esi, edi
je 0x44f8db
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
lea ecx, [esp + 0x1c4]
push ecx
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
mov eax, dword [esp + 0x74]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, edi
je 0x44f90f
push eax
call esi
test eax, eax
jne 0x44f90f
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
jmp 0x44f919
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x70]
cmp eax, edi
je 0x44f92c
push eax
call esi
test eax, eax
jne 0x44f92c
call ebx
jmp 0x44f930
mov dword [esp + 0x70], edi
mov eax, dword [esp + 0x6c]
cmp eax, edi
je 0x44f943
push eax
call esi
test eax, eax
jne 0x44f943
call ebx
jmp 0x44f947
mov dword [esp + 0x6c], edi
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
test edi, edi
je 0x44f994
mov esi, dword [ebx + edi*4 - 4]
dec edi
test esi, esi
je 0x44f990
mov eax, dword [esi + 0xc]
push eax
call fcn.004a4d8a
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004a4d8a
add esp, 4
push esi
call fcn.004a4d8a
add esp, 4
test edi, edi
jne 0x44f967
push ebx
call fcn.004a4d8a
mov ecx, dword [esp + 0x64]
add esp, 4
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0x2c]
add esp, 4
push edx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x44f9cf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x44f9ea
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 0x80004001
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x18], edi
lea edx, [esp + 0x18]
mov byte [esp + 0x378], 0xc
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0xc]
call eax
mov dword [esp + 0x20], eax
cmp eax, edi
je 0x44fb72
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov byte [esp + 0x378], 8
cmp esi, edi
je 0x44fa49
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
lea ecx, [esp + 0x1c4]
push ecx
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
mov eax, dword [esp + 0x74]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, edi
je 0x44fa7d
push eax
call esi
test eax, eax
jne 0x44fa7d
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
call ebx
jmp 0x44fa87
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x74], edi
mov eax, dword [esp + 0x70]
cmp eax, edi
je 0x44fa9a
push eax
call esi
test eax, eax
jne 0x44fa9a
call ebx
jmp 0x44fa9e
mov dword [esp + 0x70], edi
mov eax, dword [esp + 0x6c]
cmp eax, edi
je 0x44fab1
push eax
call esi
test eax, eax
jne 0x44fab1
call ebx
jmp 0x44fab5
mov dword [esp + 0x6c], edi
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
test edi, edi
je 0x44fb02
mov esi, dword [ebx + edi*4 - 4]
dec edi
test esi, esi
je 0x44fafe
mov eax, dword [esi + 0xc]
push eax
call fcn.004a4d8a
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004a4d8a
add esp, 4
push esi
call fcn.004a4d8a
add esp, 4
test edi, edi
jne 0x44fad5
push ebx
call fcn.004a4d8a
mov ecx, dword [esp + 0x64]
add esp, 4
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0x2c]
add esp, 4
push edx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x44fb3d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x44fb58
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x44fbdf
xor edi, edi
mov dword [esp + 0x20], eax
cmp word [eax], di
je 0x44fb8d
inc edi
cmp word [eax + edi*2], 0
jne 0x44fb85
cmp edi, dword [esi + 0x10]
jbe 0x44fbc2
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a4d50
mov ebx, eax
mov eax, dword [esi + 8]
add esp, 4
push eax
call fcn.004a4d8a
add esp, 4
mov dword [esi + 8], ebx
mov dword [esi + 0x10], edi
mov ecx, dword [esp + 0x20]
lea eax, [edi + edi + 2]
push eax
mov dword [esi + 0xc], edi
mov esi, dword [esi + 8]
push ecx
push esi
call fcn.005a9de0
mov eax, dword [esp + 0x24]
add esp, 0xc
push eax
mov byte [esp + 0x37c], 0xa
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, dword [ebp + 0x14]
mov eax, dword [esi + 0x54]
test eax, eax
je 0x44fc07
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esi + 0x54], 0
mov eax, dword [esi + 0x50]
lea edi, [esi + 0x50]
test eax, eax
je 0x44fc1f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [edi], 0
cmp dword [ebp + 0x1c], 0
je 0x44fc30
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esi + 0x54]
test eax, eax
je 0x44fc3f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp + 0x1c]
push edi
mov dword [esi + 0x54], eax
mov ecx, dword [eax]
mov edx, dword [ecx]
push 0x60e134
push eax
call edx
xor ebx, ebx
cmp dword [edi], ebx
jne 0x44fc62
mov dword [esp + 0x54], 0x80004001
jmp 0x44fc8f
push esi
call fcn.004533c0
cmp eax, ebx
jne 0x44fc83
mov edi, dword [edi]
mov eax, dword [edi]
mov ecx, dword [eax + 0x10]
push esi
push 1
push ebx
push ebx
push edi
call ecx
cmp eax, ebx
je 0x44fdd0
mov dword [esp + 0x54], eax
cmp eax, ebx
je 0x44fdd0
mov byte [esp + 0x378], 8
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x44fca7
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x1c4]
push ecx
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
mov eax, dword [esp + 0x74]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x44fcdb
push eax
call esi
test eax, eax
jne 0x44fcdb
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
jmp 0x44fce5
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x44fcf8
push eax
call esi
test eax, eax
jne 0x44fcf8
call edi
jmp 0x44fcfc
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x44fd0f
push eax
call esi
test eax, eax
jne 0x44fd0f
call edi
jmp 0x44fd13
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov edi, dword [esp + 0x44]
cmp edi, ebx
mov ebx, dword [esp + 0x40]
je 0x44fd60
mov esi, dword [ebx + edi*4 - 4]
dec edi
test esi, esi
je 0x44fd5c
mov eax, dword [esi + 0xc]
push eax
call fcn.004a4d8a
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004a4d8a
add esp, 4
push esi
call fcn.004a4d8a
add esp, 4
test edi, edi
jne 0x44fd33
push ebx
call fcn.004a4d8a
mov ecx, dword [esp + 0x64]
add esp, 4
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0x2c]
add esp, 4
push edx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x44fd9b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x44fdb6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.004535c0
mov dword [esp + 0x20], eax
cmp eax, ebx
je 0x44fef8
mov byte [esp + 0x378], 8
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x44fdfb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1c4]
push eax
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
mov eax, dword [esp + 0x74]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, ebx
je 0x44fe2f
push eax
call esi
test eax, eax
jne 0x44fe2f
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
jmp 0x44fe39
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x74], ebx
mov eax, dword [esp + 0x70]
cmp eax, ebx
je 0x44fe4c
push eax
call esi
test eax, eax
jne 0x44fe4c
call edi
jmp 0x44fe50
mov dword [esp + 0x70], ebx
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x44fe63
push eax
call esi
test eax, eax
jne 0x44fe63
call edi
jmp 0x44fe67
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov edi, dword [esp + 0x44]
cmp edi, ebx
mov ebx, dword [esp + 0x40]
je 0x44feb4
mov esi, dword [ebx + edi*4 - 4]
dec edi
test esi, esi
je 0x44feb0
mov eax, dword [esi + 0xc]
push eax
call fcn.004a4d8a
mov eax, dword [esi]
add esp, 4
push eax
call fcn.004a4d8a
add esp, 4
push esi
call fcn.004a4d8a
add esp, 4
test edi, edi
jne 0x44fe87
push ebx
call fcn.004a4d8a
add esp, 4
mov eax, dword [esp + 0x60]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0x2c]
add esp, 4
push ecx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x44fb3d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x44fb3d
xor esi, esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], esi
mov ebx, dword [ebp + 0x10]
mov byte [esp + 0x378], 0xd
xor edi, edi
cmp dword [ebx + 4], esi
jbe 0x44ff82
mov eax, dword [ebx]
mov eax, dword [eax + edi*4]
cmp byte [eax + 0x38], 0
je 0x44ff40
cmp byte [eax + 0x3b], 0
jne 0x44ff57
cmp byte [eax + 0x3a], 0
jne 0x44ff57
mov ecx, dword [eax + 0x20]
or ecx, dword [eax + 0x24]
jmp 0x44ff55
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x44ff57
lea edx, [eax + eax*2]
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 0x58]
cmp byte [ecx + edx*8 + 0x10], 0
jne 0x44ff7c
lea esi, [esp + 0xb8]
call fcn.00412f00
mov esi, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov dword [edx + esi*4], edi
inc esi
mov dword [esp + 0xbc], esi
inc edi
cmp edi, dword [ebx + 4]
jb 0x44ff21
push ebx
lea eax, [esp + 0xbc]
call fcn.004529c0
mov dword [esp + 0x24], 0
test esi, esi
je 0x4500f1
nop
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x24]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax]
mov ebx, dword [ecx + edx*4]
push 8
mov dword [esp + 0x180], 1
call fcn.004a4d50
mov edi, eax
xor edx, edx
add esp, 4
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 3
mov word [edi], dx
mov byte [esp + 0x378], 0xe
lea ecx, [esp + 0x144]
cmp byte [ebx + 0x39], dl
je 0x450084
lea esi, [esp + 0x16c]
mov eax, ebx
call fcn.0044db60
add ebx, 0x28
lea eax, [esp + 0x98]
cmp ebx, eax
je 0x4500ac
mov esi, dword [ebx + 4]
cmp esi, 3
jbe 0x45006a
xor ecx, ecx
lea eax, [esi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a4d50
add esp, 4
push edi
mov dword [esp + 0x24], eax
call fcn.004a4d8a
mov edi, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0x98], edi
mov dword [esp + 0xa0], esi
mov ebx, dword [ebx]
lea eax, [esi + esi + 2]
push eax
push ebx
push edi
mov dword [esp + 0xa8], esi
call fcn.005a9de0
add esp, 0xc
jmp 0x4500ac
mov eax, dword [ebx]
mov esi, dword [ebp + 0xc]
lea edx, [esp + 0x16c]
call fcn.0044e7a0
mov ecx, dword [ebx]
push ecx
push esi
lea eax, [esp + 0xa0]
call fcn.0042dde0
mov edi, dword [esp + 0x98]
lea edx, [esp + 0x98]
push edx
mov edx, dword [ebp + 0x18]
lea eax, [esp + 0x148]
lea ecx, [esp + 0x170]
call fcn.00455440
push edi
mov byte [esp + 0x37c], 0xd
call fcn.004a4d8a
mov eax, dword [esp + 0x28]
inc eax
add esp, 4
mov dword [esp + 0x24], eax
cmp eax, dword [esp + 0xbc]
jb 0x44ffa0
mov byte [esp + 0x378], 0xa
mov eax, dword [esp + 0xb8]
push eax
call fcn.004a4d8a
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x68]
xor edi, edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], edi
add esp, 4
xor eax, eax
cmp esi, edi
jbe 0x450130
mov ecx, dword [esp + 0x60]
add ecx, 0xc
mov dword [ecx], eax
inc eax
add ecx, 0x10
cmp eax, esi
jb 0x450126
lea eax, [esp + 0x60]
call fcn.00452ce0
mov dword [esp + 0xa8], edi
cmp esi, edi
jbe 0x4516c3
mov esi, dword [esp + 0xa8]
mov ebx, dword [ebp + 0x24]
mov edi, dword [ebx]
lea ecx, [esp + 0xc4]
shl esi, 4
add esi, dword [esp + 0x60]
push ecx
call fcn.00452890
mov byte [esp + 0x378], 0xf
cmp byte [ebx + 9], 0
je 0x450180
cmp byte [ebx + 0x2b], 0
je 0x450180
mov al, 1
jmp 0x450182
xor al, al
push eax
push esi
lea eax, [esp + 0xcc]
call fcn.0044d900
add esp, 8
mov dword [esp + 0x58], eax
test eax, eax
jne 0x451795
cmp byte [esi + 8], al
je 0x45024f
cmp byte [esp + 0xe5], al
jne 0x45026e
mov eax, dword [esp + 0x1a4]
test eax, eax
je 0x450245
add eax, 8
lea edx, [esp + 0xe8]
mov dword [esp + 0x20], eax
cmp eax, edx
je 0x450245
mov edi, dword [eax + 4]
cmp edi, dword [esp + 0xf0]
jbe 0x450226
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a4d50
mov ebx, eax
mov eax, dword [esp + 0xec]
add esp, 4
push eax
call fcn.004a4d8a
mov eax, dword [esp + 0x24]
add esp, 4
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xf0], edi
mov eax, dword [eax]
mov edx, dword [esp + 0xe8]
lea ecx, [edi + edi + 2]
push ecx
push eax
push edx
mov dword [esp + 0xf8], edi
call fcn.005a9de0
add esp, 0xc
mov byte [esp + 0xe5], 1
jmp 0x45026e
mov ecx, dword [esp + 0xe8]
xor eax, eax
mov byte [esp + 0xe5], 0
mov dword [esp + 0xec], 0
mov word [ecx], ax
lea edx, [esp + 0xc4]
push edx
lea eax, [esp + 0x290]
push eax
call fcn.004698e0
mov byte [esp + 0x378], 0x10
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x40]
mov eax, dword [edx + ecx*4]
cmp dword [eax + 0x10], 0
mov dword [esp + 0x54], eax
mov dword [esp + 0xf4], 0
jbe 0x450f5a
mov edi, edi
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0xf4]
mov edi, dword [ebp + 0xc]
mov esi, dword [ecx + edx*8]
lea eax, [ecx + edx*8]
mov ecx, dword [edi + 0x24]
mov ecx, dword [ecx + esi*4]
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x3c], ecx
cmp dword [eax + 4], ecx
jne 0x45055b
mov eax, dword [esp + 0x14]
test eax, eax
je 0x45036d
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
push 3
push esi
push 2
push eax
call edx
mov dword [esp + 0xa4], eax
test eax, eax
jne 0x451908
mov eax, dword [edi + 0x118]
mov esi, dword [eax + esi*4]
xor ebx, ebx
cmp dword [esp + 0x3c], ebx
jbe 0x45036d
lea eax, [esi + esi*2]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x4c], eax
jmp 0x450330
mov ecx, dword [edi + 0x58]
cmp byte [eax + ecx + 0x10], 0
je 0x45035f
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
push 3
push esi
push 1
push eax
mov eax, dword [edx + 0x10]
inc ebx
call eax
mov dword [esp + 0xa4], eax
test eax, eax
jne 0x451a3f
mov eax, dword [esp + 0x4c]
add eax, 0x18
inc esi
mov dword [esp + 0x4c], eax
cmp ebx, dword [esp + 0x3c]
jb 0x450330
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0x30]
mov esi, dword [esp + 0x50]
mov edx, dword [ecx + esi*4 + 4]
mov ebx, dword [ecx + esi*4]
mov esi, dword [eax + edx*8]
sub esi, dword [eax + ebx*8]
mov dword [esp + 0x20], ebx
mov ebx, dword [eax + edx*8 + 4]
mov edx, dword [esp + 0x20]
sbb ebx, dword [eax + edx*8 + 4]
mov edx, dword [esp + 0x50]
mov ecx, dword [ecx + edx*4]
mov edx, dword [eax + ecx*8]
mov eax, dword [eax + ecx*8 + 4]
add edx, dword [edi + 0xf8]
mov ecx, dword [ebp + 0x14]
adc eax, dword [edi + 0xfc]
mov ecx, dword [ecx + 0x54]
push 0
push 0
push eax
mov dword [esp + 0x2c], 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 0x4503e7
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
push ecx
mov ecx, dword [ebp + 8]
push ebx
push esi
push edx
call fcn.0044ca20
add esp, 0x10
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x451aa9
mov eax, dword [esp + 0x1c]
add dword [eax + 0x18], esi
mov esi, dword [ebp + 0x18]
push 0x18
adc dword [eax + 0x1c], ebx
add esi, 0x54
call fcn.004a4d50
add esp, 4
test eax, eax
je 0x45042c
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 ebx, eax
mov dword [esp + 0x18], eax
jmp 0x450432
xor ebx, ebx
mov dword [esp + 0x18], ebx
call fcn.00412f00
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [ecx + eax*4], ebx
inc dword [esi + 4]
mov eax, dword [edi + 0x38]
mov esi, dword [esp + 0x50]
mov ecx, dword [eax + esi*4]
mov eax, dword [eax + esi*4 + 4]
mov edx, dword [edi + 0x3c]
sub eax, ecx
add edx, ecx
mov dword [esp + 0x100], eax
push ebx
lea eax, [esp + 0x100]
mov dword [esp + 0x100], edx
mov dword [esp + 0x108], 0
call fcn.0042d960
mov edx, dword [esp + 0x100]
sub edx, dword [esp + 0x104]
jne 0x451bdc
mov edi, dword [edi + 0x30]
mov edi, dword [edi + esi*4]
mov dword [esp + 0x4c], edx
cmp dword [ebx + 0x14], edx
jbe 0x4504fc
mov esi, dword [ebp + 0x18]
add edi, edi
add edi, edi
add esi, 0x30
add edi, edi
lea esp, [esp]
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 + 0x288], ecx
call fcn.0046a380
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, dword [esp + 0x288]
mov dword [eax + ecx*8], ebx
mov dword [eax + ecx*8 + 4], edx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
inc dword [esi + 4]
inc eax
add edi, 8
mov dword [esp + 0x4c], eax
cmp eax, dword [ecx + 0x14]
jb 0x4504b0
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 0x2c]
mov ecx, dword [esp + 0x50]
mov edi, dword [eax + ecx*4]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esp + 0x20], eax
cmp edi, eax
jae 0x450d5f
mov esi, dword [ebp + 0x18]
add esi, 0x24
nop
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax + edi*8 + 4]
mov ebx, dword [eax + edi*8]
mov dword [esp + 0x270], ecx
call fcn.0046a380
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, dword [esp + 0x270]
mov dword [eax + ecx*8], ebx
mov dword [eax + ecx*8 + 4], edx
inc dword [esi + 4]
inc edi
cmp edi, dword [esp + 0x20]
jb 0x450520
jmp 0x450d5f
xor ebx, ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x378], 0x11
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], ebx
cmp eax, ebx
je 0x4505a6
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
push 4
push esi
push 2
push eax
call edx
mov dword [esp + 0xa4], eax
cmp eax, ebx
jne 0x451bf3
mov ecx, dword [esp + 0x3c]
mov eax, dword [edi + 0x118]
mov esi, dword [eax + esi*4]
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebx
cmp ecx, ebx
jbe 0x450660
lea eax, [esi + esi*2]
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
lea ecx, [eax + esi*4]
mov dword [esp + 0x30], ecx
lea ecx, [ecx]
mov ebx, dword [edi + 0x58]
add ebx, dword [esp + 0x18]
mov byte [esp + 0x138], 0
cmp byte [ebx + 0x10], 0
je 0x450619
mov edx, dword [esp + 0x30]
mov eax, dword [edx]
inc dword [esp + 0x24]
test eax, eax
js 0x450619
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + eax*4]
cmp byte [eax + 0x38], 0
jne 0x450619
mov byte [esp + 0x138], 1
mov eax, dword [esp + 0x138]
push eax
lea esi, [esp + 0x9c]
call fcn.00431210
cmp byte [esp + 0x138], 0
je 0x45064a
mov ecx, dword [ebx]
add dword [esp + 0xac], ecx
mov edx, dword [ebx + 4]
adc dword [esp + 0xb0], edx
mov eax, dword [esp + 0x3c]
add dword [esp + 0x18], 0x18
add dword [esp + 0x30], 4
cmp dword [esp + 0x24], eax
jb 0x4505e0
xor ebx, ebx
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx + 0x34]
mov dword [esp + 0xa4], edx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x378], 0x12
push 0x1c
mov dword [esp + 0x24], ebx
call fcn.004a4d50
add esp, 4
cmp eax, ebx
je 0x4506a7
mov dword [eax + 4], vtable.ICompressGetSubStreamSize.0
mov dword [eax + 8], ebx
mov dword [eax], vtable.NArchive::N7z::CRepackInStreamWithSizes.0
mov dword [eax + 4], vtable.NArchive::N7z::CRepackInStreamWithSizes.1.0
mov dword [eax + 0xc], ebx
jmp 0x4506a9
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x10c], eax
cmp eax, ebx
je 0x4506c0
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [ebp + 0x24]
mov byte [esp + 0x378], 0x13
cmp byte [eax + 0x2b], 0
je 0x45080e
mov eax, dword [esp + 0x244]
cmp eax, ebx
je 0x4506e3
lea ebx, [eax + 8]
mov dword [esp + 0x4c], 0
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x34]
push edx
lea esi, [esp + 0x74]
mov byte [esp + 0x380], 0x14
call fcn.00467ec0
mov eax, dword [esp + 0x6c]
mov esi, dword [sym.imp.KERNEL32.dll_ResetEvent]
push eax
call esi
test eax, eax
jne 0x45071d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x70]
push ecx
call esi
test eax, eax
jne 0x45072e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x74]
push edx
call esi
test eax, eax
jne 0x45073f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x244]
mov esi, dword [esp + 0x4c]
xor eax, eax
add ecx, 0x34
mov word [esp + 0x78], 0x100
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x18], ecx
cmp esi, eax
je 0x45077f
mov edx, dword [esi]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
test eax, eax
je 0x450791
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
cmp dword [ebp + 8], 0
mov ecx, dword [esp + 0x18]
mov dword [ecx], esi
je 0x4507a8
mov eax, dword [ebp + 8]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x240]
test eax, eax
je 0x4507bb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp + 8]
mov ecx, dword [edi + 0xf8]
mov edx, dword [edi + 0xfc]
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x24c], ecx
mov dword [esp + 0x250], edx
mov dword [esp + 0x254], edi
mov dword [esp + 0x258], eax
mov byte [esp + 0x378], 0x13
test esi, esi
je 0x450954
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
jmp 0x450954
push 0x40
call fcn.004a4d50
mov esi, eax
add esp, 4
mov dword [esp + 0x20], esi
xor eax, eax
cmp esi, eax
je 0x450853
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 + 0x378], 0x17
push 0x10000
mov dword [esi + 0x3c], eax
call fcn.004a4d50
add esp, 4
mov dword [esi + 0x34], eax
jmp 0x450855
xor esi, esi
mov byte [esp + 0x378], 0x13
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
mov dword [esp + 0x24], esi
mov dword [esi + 0x3c], 0
call ecx
push 8
mov dword [esp + 0x34], esi
lea ebx, [esi + 8]
call fcn.004a4d50
xor ecx, ecx
xor edx, edx
add esp, 4
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], 3
mov word [eax], dx
mov dword [esp + 0x18], ecx
push 1
push ecx
lea eax, [esp + 0x124]
push eax
lea edx, [esp + 0x47]
push edx
mov byte [esp + 0x388], 0x19
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x6f]
push eax
push edx
mov edx, dword [edi + 0xfc]
lea eax, [esp + 0x30]
push eax
mov eax, dword [edi + 0xf8]
push ecx
push ecx
push ecx
mov ecx, dword [esp + 0x78]
push ecx
mov ecx, dword [ebp + 8]
push edi
push edx
push eax
push ecx
lea edx, [esp + 0x214]
push edx
call fcn.0044a230
mov dword [esp + 0x4c], eax
test eax, eax
jne 0x451c8b
cmp dword [esp + 0x18], eax
je 0x451d57
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [esi + 0x38]
test eax, eax
je 0x450925
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov byte [esp + 0x378], 0x18
mov dword [esi + 0x38], eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x378], 0x13
mov eax, dword [esp + 0x11c]
push eax
call fcn.004a4d8a
add esp, 4
mov dword [ebx + 0x1c], edi
mov eax, dword [esp + 0x14]
mov esi, eax
test eax, eax
je 0x450969
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x450978
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [ebx + 0x20], esi
mov eax, dword [esp + 0x2c]
mov esi, eax
test eax, eax
je 0x45098d
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x45099c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [esp + 0x50]
mov dword [ebx + 0x24], esi
mov eax, dword [edi + 0x118]
mov esi, dword [eax + ecx*4]
lea edx, [esp + 0x98]
mov eax, ebx
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x18], 0
mov byte [ebx + 1], 0
call fcn.0044dc90
mov dword [esp + 0x4c], eax
test eax, eax
mov eax, dword [esp + 0x24]
jne 0x451ecd
cmp dword [esp + 0x30], 0
lea ecx, [esp + 0x98]
mov dword [eax + 0x18], edi
mov dword [eax + 0x14], esi
mov dword [eax + 0x10], ecx
je 0x450a02
mov eax, dword [esp + 0x30]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x450a15
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push ecx
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
mov edx, dword [ebp + 0x24]
mov dword [eax + 0xc], ecx
cmp byte [edx + 0x2b], 0
je 0x450a45
mov eax, dword [esp + 0x1c8]
push eax
mov byte [esp + 0x1d8], 0
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x450a45
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 + 0x1c], edx
add esi, 0x54
call fcn.004a4d50
add esp, 4
test eax, eax
je 0x450a7c
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 + 0x4c], eax
jmp 0x450a84
mov dword [esp + 0x4c], 0
call fcn.00412f00
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov ecx, dword [esp + 0x4c]
mov dword [edx + eax*4], ecx
inc dword [esi + 4]
mov edx, dword [ebp + 0x18]
mov esi, dword [esp + 0x1c]
push esi
lea eax, [edx + 0x30]
push eax
mov eax, dword [esp + 0x20]
push eax
lea eax, [esp + 0x1c8]
push eax
add edx, 0x24
push edx
mov edx, dword [esp + 0x38]
push ecx
lea ecx, [esp + 0x154]
push ecx
push edx
lea eax, [esp + 0x2ac]
push eax
call fcn.00468be0
mov dword [esp + 0x18], eax
cmp eax, 0x20000002
je 0x452010
mov ecx, dword [ebp + 0x24]
cmp byte [ecx + 0x2b], 0
je 0x450c7c
mov edx, dword [esp + 0x1cc]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esp + 0x23c]
cmp eax, 1
je 0x452091
test eax, eax
jne 0x45224e
cmp dword [esp + 0x18], eax
jne 0x450b46
mov eax, dword [esp + 0x84]
cmp eax, dword [esp + 0xac]
jne 0x450b3e
mov ecx, dword [esp + 0x88]
cmp ecx, dword [esp + 0xb0]
je 0x450ca2
mov dword [esp + 0x18], 0x80004005
mov eax, dword [esp + 0x24]
mov byte [esp + 0x378], 0x12
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x378], 0x11
mov eax, dword [esp + 0x30]
test eax, eax
je 0x450b72
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x98]
push eax
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004a4d8a
add esp, 4
lea edi, [esp + 0xc4]
call fcn.00434350
mov byte [esp + 0x378], 8
mov eax, dword [esp + 0x34]
test eax, eax
je 0x450bda
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1c4]
push eax
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
lea esi, [esp + 0x6c]
call fcn.0044bc70
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x40]
call fcn.00452e60
mov eax, dword [esp + 0x60]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0x2c]
add esp, 4
push ecx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x450c47
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x450c62
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x3c]
mov dword [esp + 0x20], eax
cmp eax, 1
je 0x452257
test eax, eax
jne 0x4522fd
cmp dword [esp + 0x18], eax
jne 0x450b46
mov eax, dword [ebx + 0x10]
mov ebx, dword [ebx + 0x18]
mov eax, dword [eax + 4]
sub ebx, eax
neg ebx
sbb ebx, ebx
and ebx, 0x80004005
mov dword [esp + 0x20], ebx
jne 0x452433
mov ecx, dword [esp + 0x1bc]
cmp ecx, dword [esp + 0xac]
jne 0x452507
mov edi, dword [esp + 0x1c0]
cmp edi, dword [esp + 0xb0]
jne 0x452507
mov eax, dword [esp + 0x24]
mov byte [esp + 0x378], 0x12
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x378], 0x11
mov eax, dword [esp + 0x30]
test eax, eax
je 0x450d15
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [esp + 0xa4]
mov edx, dword [ebp + 0x18]
cmp ecx, dword [edx + 0x34]
jae 0x450d3a
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 0x450d24
mov ecx, dword [esp + 0x1bc]
add dword [esi + 0x20], ecx
adc dword [esi + 0x24], edi
mov byte [esp + 0x378], 0x10
mov edx, dword [esp + 0x98]
push edx
call fcn.004a4d8a
add esp, 4
mov eax, dword [esp + 0x58]
mov esi, dword [ebp + 0x18]
mov edi, dword [eax + 4]
add esi, 0x18
call fcn.00412f00
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [ebp + 0xc]
mov dword [edx + ecx*4], edi
inc dword [esi + 4]
cmp dword [esp + 0x3c], 0
mov eax, dword [eax + 0x118]
mov ecx, dword [esp + 0x50]
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x18], 0
jbe 0x450f3e
nop
mov esi, dword [ebp + 0xc]
lea ecx, [esp + 0x344]
lea edx, [esp + 0x144]
mov eax, edi
mov dword [esp + 0x154], 1
call fcn.0044e7a0
push 8
call fcn.004a4d50
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 esi
lea eax, [esp + 0x1b0]
mov byte [esp + 0x380], 0x1a
call fcn.0042dde0
cmp byte [esp + 0x154], 0
je 0x450f17
mov eax, dword [esp + 0x28]
mov eax, dword [eax + edi*4]
inc dword [esp + 0x18]
test eax, eax
js 0x450f17
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov ebx, dword [edx + eax*4]
cmp byte [ebx + 0x38], 0
je 0x450e49
mov byte [esp + 0x378], 0x10
mov eax, dword [esp + 0x1a8]
push eax
jmp 0x450f27
cmp byte [ebx + 0x39], 0
je 0x450ef9
lea ecx, [esp + 0x344]
lea esi, [esp + 0x16c]
mov eax, ebx
mov byte [esp + 0x17d], 0
mov byte [esp + 0x17f], 0
call fcn.0044db60
movzx edx, byte [esp + 0x156]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x150]
mov esi, dword [esp + 0x148]
mov byte [esp + 0x17e], dl
movzx edx, byte [esp + 0x154]
mov byte [esp + 0x17c], dl
mov edx, dword [esp + 0x180]
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x148], esi
add ebx, 0x28
lea esi, [esp + 0x1a8]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
call fcn.0040f470
mov edx, dword [ebp + 0x18]
lea eax, [esp + 0x1a8]
push eax
lea eax, [esp + 0x348]
lea ecx, [esp + 0x148]
call fcn.00455440
mov byte [esp + 0x378], 0x10
mov ecx, dword [esp + 0x1a8]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0x40]
add esp, 4
inc edi
cmp dword [esp + 0x18], edx
jb 0x450da0
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x54]
inc eax
mov dword [esp + 0xf4], eax
cmp eax, dword [ecx + 0x10]
jb 0x4502b0
mov edx, dword [esp + 0x54]
mov esi, dword [edx + 4]
xor edi, edi
mov dword [esp + 0x18], esi
cmp esi, edi
jne 0x450fa4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov byte [esp + 0x378], 0xa
mov eax, dword [esp + 0xe8]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
jmp 0x451696
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc0], edi
mov byte [esp + 0x378], 0x1b
mov dword [esp + 0xbc], edi
cmp esi, edi
jbe 0x451005
push edi
call fcn.004a4d8a
xor ecx, ecx
add esp, 4
mov eax, esi
mov edx, 0x14
mul edx
seto cl
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc0], edi
neg ecx
or ecx, eax
push ecx
call fcn.004a4d50
add esp, 4
mov dword [esp + 0xb8], eax
mov dword [esp + 0xc0], esi
mov eax, dword [ebp + 0x24]
cmp byte [eax + 0x29], 0
mov dword [esp + 0xbc], esi
je 0x451032
cmp dword [esp + 0x118], edi
ja 0x451028
cmp dword [esp + 0x114], 1
jbe 0x451032
mov byte [esp + 0xf8], 1
jmp 0x45103a
mov byte [esp + 0xf8], 0
cmp esi, edi
jbe 0x45109a
mov esi, dword [esp + 0xb8]
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx]
mov ecx, dword [edx + edi*4]
lea eax, [edx + edi*4]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0xf8]
mov eax, dword [eax]
push edx
push eax
lea ebx, [esp + 0x14c]
call fcn.0044cc90
mov ecx, dword [eax]
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov ecx, dword [eax + 8]
mov dword [esi + 8], ecx
mov edx, dword [eax + 0xc]
mov dword [esi + 0xc], edx
mov eax, dword [eax + 0x10]
mov dword [esi + 0x10], eax
inc edi
add esi, 0x14
cmp edi, dword [esp + 0x18]
jb 0x451049
mov cl, byte [esp + 0xf8]
lea edx, [esp + 0x5e]
push edx
lea eax, [esp + 0xbc]
mov byte [esp + 0x62], cl
call fcn.00452eb0
mov esi, dword [esp + 0x18]
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004a4d50
add esp, 4
mov dword [esp + 0x3c], eax
xor ecx, ecx
mov byte [esp + 0x378], 0x1c
test esi, esi
je 0x4510fe
mov edx, dword [esp + 0xb8]
add edx, 4
mov edi, dword [edx]
mov dword [eax + ecx*4], edi
inc ecx
add edx, 0x14
cmp ecx, esi
jb 0x4510f1
mov dword [esp + 0x24], 0
test esi, esi
je 0x451645
mov eax, dword [esp + 0x24]
xor esi, esi
xor ecx, ecx
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x20], esi
cmp eax, dword [esp + 0x18]
jae 0x451252
jmp 0x451137
mov ecx, dword [esp + 0x274]
xor eax, eax
cmp eax, dword [esp + 0x118]
ja 0x451249
jb 0x451155
cmp edi, dword [esp + 0x114]
jae 0x451249
mov edx, dword [esp + 0x24]
lea eax, [edi + edx]
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp + 0x10]
mov edx, dword [edx]
mov edx, dword [edx + eax*4]
add ecx, dword [edx + 0x20]
mov eax, dword [ebp + 0x24]
adc ebx, dword [edx + 0x24]
mov dword [esp + 0x274], ecx
cmp ebx, dword [eax + 0x24]
ja 0x451249
jb 0x45118f
cmp ecx, dword [eax + 0x20]
ja 0x451249
cmp byte [eax + 0x28], 0
je 0x451237
mov eax, dword [edx + 0x2c]
cmp eax, esi
jne 0x4511a5
or eax, 0xffffffff
jmp 0x4511d2
mov esi, dword [edx + 0x28]
movzx ecx, word [esi + eax*2 - 2]
lea eax, [esi + eax*2 - 2]
cmp ecx, 0x5c
je 0x4511cc
cmp cx, 0x2f
je 0x4511cc
cmp eax, esi
je 0x4511de
movzx ecx, word [eax - 2]
sub eax, 2
cmp ecx, 0x5c
jne 0x4511b6
sub eax, esi
sar eax, 1
xor esi, esi
mov ecx, dword [edx + 0x2c]
cmp ecx, esi
jne 0x4511e3
or ecx, 0xffffffff
jmp 0x45120a
or eax, 0xffffffff
jmp 0x4511d0
mov esi, dword [edx + 0x28]
cmp word [esi + ecx*2 - 2], 0x2e
lea ecx, [esi + ecx*2 - 2]
je 0x4511ff
cmp ecx, esi
je 0x451205
sub ecx, 2
cmp word [ecx], 0x2e
jne 0x4511f2
sub ecx, esi
sar ecx, 1
jmp 0x451208
or ecx, 0xffffffff
xor esi, esi
cmp ecx, eax
jg 0x451213
mov eax, dword [edx + 0x2c]
jmp 0x451216
lea eax, [ecx + 1]
mov ecx, dword [edx + 0x28]
lea ecx, [ecx + eax*2]
cmp edi, esi
jne 0x451226
mov dword [esp + 0x20], ecx
jmp 0x451237
mov edx, dword [esp + 0x20]
push edx
call fcn.0040ebf0
add esp, 4
test al, al
je 0x451249
mov eax, dword [esp + 0x24]
inc edi
lea ecx, [edi + eax]
cmp ecx, dword [esp + 0x18]
jb 0x451130
mov dword [esp + 0x30], edi
cmp edi, 1
jae 0x45125a
mov dword [esp + 0x30], 1
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
push esi
push esi
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0x58], eax
cmp eax, esi
jne 0x452588
push 0x60
call fcn.004a4d50
add esp, 4
cmp eax, esi
je 0x4512c0
mov dword [eax + 4], vtable.ICompressGetSubStreamSize.0
mov dword [eax + 8], esi
mov dword [eax], vtable.NArchive::N7z::CFolderInStream.0
mov dword [eax + 4], vtable.NArchive::N7z::CFolderInStream.1.0
mov dword [eax + 0xc], esi
mov dword [eax + 0x34], esi
mov dword [eax + 0x38], esi
mov dword [eax + 0x3c], esi
mov dword [eax + 0x40], esi
mov dword [eax + 0x44], esi
mov dword [eax + 0x48], esi
mov dword [eax + 0x4c], esi
mov dword [eax + 0x50], esi
mov dword [eax + 0x54], esi
mov dword [eax + 0x58], esi
mov dword [esp + 0x50], eax
jmp 0x4512c6
mov dword [esp + 0x50], esi
mov eax, esi
mov dword [esp + 0x10c], eax
cmp eax, esi
je 0x4512d9
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
push eax
call edx
mov ecx, dword [esp + 0x24]
mov edx, dword [ebp + 0x20]
mov esi, dword [esp + 0x50]
mov byte [esp + 0x378], 0x1d
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x30]
lea eax, [eax + ecx*4]
push eax
push edx
mov dword [esp + 0xac], eax
call fcn.0046a400
mov eax, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x18]
mov ecx, dword [eax + 0x54]
mov edi, dword [ebx + 0x34]
push 0x18
mov dword [esp + 0x5c], ecx
lea esi, [ebx + 0x54]
call fcn.004a4d50
add esp, 4
test eax, eax
je 0x45133f
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 + 0x20], eax
jmp 0x451347
mov dword [esp + 0x20], 0
call fcn.00412f00
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov eax, dword [esp + 0x20]
mov dword [ecx + edx*4], eax
mov edx, dword [esp + 0x1c]
inc dword [esi + 4]
mov ecx, dword [esp + 0x58]
push edx
lea esi, [ebx + 0x30]
push esi
push ecx
lea edx, [esp + 0x1c0]
push edx
lea ecx, [ebx + 0x24]
push ecx
push eax
mov eax, dword [esp + 0x68]
lea edx, [esp + 0x154]
push edx
push eax
lea ecx, [esp + 0x2ac]
push ecx
call fcn.00468be0
mov dword [esp + 0x58], eax
test eax, eax
mov eax, dword [esp + 0x50]
jne 0x4525f8
mov edx, dword [eax + 0x30]
cmp edx, dword [eax + 0x2c]
jne 0x45265a
mov ecx, dword [esp + 0x1c]
cmp edi, dword [ebx + 0x34]
jae 0x4513ca
mov eax, dword [esi]
mov edx, dword [eax + edi*8]
add dword [ecx + 0x28], edx
mov eax, dword [eax + edi*8 + 4]
adc dword [ecx + 0x2c], eax
inc edi
cmp edi, dword [ebx + 0x34]
jb 0x4513b5
mov edx, dword [esp + 0x1b4]
add dword [ecx + 0x20], edx
mov eax, dword [esp + 0x1b8]
adc dword [ecx + 0x24], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x12c], eax
mov dword [esp + 0x130], eax
mov dword [esp + 0xf4], eax
cmp dword [esp + 0x30], eax
jbe 0x4515a4
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x54], ecx
mov ebx, eax
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx]
mov edi, dword [edx + eax*4]
push 8
mov dword [esp + 0x158], 1
call fcn.004a4d50
xor ecx, ecx
add esp, 4
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 3
mov word [eax], cx
mov byte [esp + 0x378], 0x1e
cmp byte [edi + 0x39], 0
lea ecx, [esp + 0x16c]
je 0x451490
lea esi, [esp + 0x144]
mov eax, edi
call fcn.0044db60
lea ebx, [edi + 0x28]
lea esi, [esp + 0x198]
call fcn.0040f470
mov ebx, dword [esp + 0xf4]
jmp 0x4514b3
mov eax, dword [edi]
mov esi, dword [ebp + 0xc]
lea edx, [esp + 0x144]
call fcn.0044e7a0
mov edx, dword [edi]
push edx
mov eax, esi
push eax
lea eax, [esp + 0x1a0]
call fcn.0042dde0
cmp byte [esp + 0x190], 0
jne 0x4526b8
cmp byte [esp + 0x155], 0
jne 0x4526b8
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x38]
cmp byte [ebx + ecx], 0
jne 0x451505
mov edx, dword [edi + 0x20]
mov eax, dword [edi + 0x24]
add dword [esp + 0x12c], edx
mov byte [esp + 0x378], 0x1d
mov ecx, dword [esp + 0x198]
adc dword [esp + 0x130], eax
push ecx
jmp 0x451582
mov edx, dword [eax + 0x44]
mov ecx, dword [edx + ebx*4]
mov dword [esp + 0x150], ecx
mov ecx, dword [eax + 0x50]
mov eax, dword [ecx + ebx*8]
mov ecx, dword [ecx + ebx*8 + 4]
mov dword [esp + 0x144], eax
or eax, ecx
mov dword [esp + 0x148], ecx
je 0x451544
inc dword [esp + 0x4c]
mov byte [esp + 0x156], 1
mov byte [esp + 0x154], 1
jmp 0x451554
mov byte [esp + 0x156], 0
mov byte [esp + 0x154], 0
lea edx, [esp + 0x198]
push edx
mov edx, dword [ebp + 0x18]
lea eax, [esp + 0x170]
lea ecx, [esp + 0x148]
call fcn.00455440
mov byte [esp + 0x378], 0x1d
mov eax, dword [esp + 0x198]
push eax
call fcn.004a4d8a
add dword [esp + 0x58], 4
inc ebx
add esp, 4
mov dword [esp + 0xf4], ebx
cmp ebx, dword [esp + 0x30]
jb 0x451410
mov ebx, dword [ebp + 0x18]
lea esi, [ebx + 0x18]
call fcn.00412f00
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov eax, dword [esp + 0x4c]
mov dword [edx + ecx*4], eax
inc dword [esi + 4]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x12c]
add esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x130]
mov edx, eax
or edx, ecx
mov dword [esp + 0x24], esi
je 0x451627
mov edx, dword [esp + 0x90]
cmp edx, ecx
jb 0x451627
ja 0x4515f5
cmp dword [esp + 0x8c], eax
jb 0x451627
mov edi, dword [esp + 0x8c]
sub edi, eax
mov eax, dword [ebp + 0x20]
sbb edx, ecx
mov ecx, dword [eax]
push edx
push edi
mov dword [esp + 0x98], edx
mov edx, dword [ecx + 0xc]
push eax
mov dword [esp + 0x98], edi
call edx
mov dword [esp + 0x58], eax
test eax, eax
jne 0x45272a
mov eax, dword [esp + 0x50]
mov byte [esp + 0x378], 0x1c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp esi, dword [esp + 0x18]
jb 0x45110e
mov eax, dword [esp + 0x3c]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0xbc]
add esp, 4
push ecx
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov byte [esp + 0x378], 0xa
mov edx, dword [esp + 0xe8]
push edx
call fcn.004a4d8a
mov eax, dword [esp + 0xd4]
add esp, 4
push eax
call fcn.004a4d8a
add esp, 4
lea edi, [esp + 0xc4]
call fcn.00434350
mov eax, dword [esp + 0xa8]
inc eax
mov dword [esp + 0xa8], eax
cmp eax, dword [esp + 0x64]
jb 0x450148
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push 0
push 0
push eax
call edx
mov edi, eax
test edi, edi
je 0x45278c
mov byte [esp + 0x378], 8
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4516f5
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1c4]
push eax
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
lea esi, [esp + 0x6c]
call fcn.0044bc70
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x40]
call fcn.00452e60
mov eax, dword [esp + 0x60]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0x2c]
add esp, 4
push ecx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x451762
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x45177d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, edi
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004a4d8a
mov edi, dword [esp + 0xcc]
add esp, 4
test edi, edi
je 0x4517e4
mov eax, dword [esp + 0xc4]
mov esi, dword [eax + edi*4 - 4]
dec edi
test esi, esi
je 0x4517e0
mov ebx, esi
call fcn.00416610
push esi
call fcn.004a4d8a
add esp, 4
test edi, edi
jne 0x4517c0
mov ecx, dword [esp + 0xc4]
push ecx
call fcn.004a4d8a
mov byte [esp + 0x37c], 8
mov eax, dword [esp + 0x38]
add esp, 4
test eax, eax
je 0x45180c
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x1c4]
push ecx
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
mov eax, dword [esp + 0x74]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
je 0x451840
push eax
call esi
test eax, eax
jne 0x451840
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
jmp 0x45184e
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x70]
test eax, eax
je 0x451861
push eax
call esi
test eax, eax
jne 0x451861
call edi
jmp 0x451869
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x45187c
push eax
call esi
test eax, eax
jne 0x45187c
call edi
jmp 0x451884
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ebx, [esp + 0x40]
call fcn.00452e60
mov ecx, dword [esp + 0x60]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0x2c]
add esp, 4
push edx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x4518d3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4518ee
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov eax, dword [esp + 0xe8]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
call fcn.004a4d8a
mov esi, dword [esp + 0xcc]
add esp, 4
test esi, esi
je 0x451972
jmp 0x451950
mov edx, dword [esp + 0xc4]
mov ebx, dword [edx + esi*4 - 4]
dec esi
test ebx, ebx
je 0x45196e
call fcn.00416610
push ebx
call fcn.004a4d8a
add esp, 4
test esi, esi
jne 0x451950
mov eax, dword [esp + 0xc4]
push eax
call fcn.004a4d8a
mov byte [esp + 0x37c], 8
mov eax, dword [esp + 0x38]
add esp, 4
test eax, eax
je 0x45199a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1c4]
push eax
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
lea esi, [esp + 0x6c]
call fcn.0044bc70
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x40]
call fcn.00452e60
mov eax, dword [esp + 0x60]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0x2c]
add esp, 4
push ecx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x451a07
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x451a22
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov eax, dword [esp + 0xe8]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
call fcn.004a4d8a
mov esi, dword [esp + 0xcc]
add esp, 4
test esi, esi
je 0x451972
mov edx, dword [esp + 0xc4]
mov ebx, dword [edx + esi*4 - 4]
dec esi
test ebx, ebx
je 0x451aa0
call fcn.00416610
push ebx
call fcn.004a4d8a
add esp, 4
test esi, esi
jne 0x451a82
jmp 0x451972
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov eax, dword [esp + 0xe8]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
call fcn.004a4d8a
mov esi, dword [esp + 0xcc]
add esp, 4
test esi, esi
je 0x451b12
jmp 0x451af0
mov edx, dword [esp + 0xc4]
mov ebx, dword [edx + esi*4 - 4]
dec esi
test ebx, ebx
je 0x451b0e
call fcn.00416610
push ebx
call fcn.004a4d8a
add esp, 4
test esi, esi
jne 0x451af0
mov eax, dword [esp + 0xc4]
push eax
call fcn.004a4d8a
mov byte [esp + 0x37c], 8
mov eax, dword [esp + 0x38]
add esp, 4
test eax, eax
je 0x451b3a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1c4]
push eax
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
lea esi, [esp + 0x6c]
call fcn.0044bc70
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x40]
call fcn.00452e60
mov eax, dword [esp + 0x60]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0x2c]
add esp, 4
push ecx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x451ba7
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x451bc2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x62ce6c
lea eax, [esp + 0x5c]
push eax
mov dword [esp + 0x60], 0x1330368
call fcn.005afc95
mov ecx, dword [esp + 0x98]
push ecx
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov edx, dword [esp + 0xe8]
push edx
call fcn.004a4d8a
mov eax, dword [esp + 0xd4]
add esp, 4
push eax
call fcn.004a4d8a
mov edi, dword [esp + 0xcc]
add esp, 4
cmp edi, ebx
je 0x451c68
mov ecx, dword [esp + 0xc4]
mov esi, dword [ecx + edi*4 - 4]
dec edi
cmp esi, ebx
je 0x451c64
mov ebx, esi
call fcn.00416610
push esi
call fcn.004a4d8a
add esp, 4
xor ebx, ebx
cmp edi, ebx
jne 0x451c42
mov edx, dword [esp + 0xc4]
push edx
call fcn.004a4d8a
mov byte [esp + 0x37c], 8
mov eax, dword [esp + 0x38]
add esp, 4
cmp eax, ebx
jmp 0x451990
mov byte [esp + 0x378], 0x18
mov eax, dword [esp + 0x18]
test eax, eax
je 0x451ca3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x11c]
push eax
call fcn.004a4d8a
mov eax, dword [esp + 0x28]
add esp, 4
mov byte [esp + 0x378], 0x12
test eax, eax
je 0x451ccb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x378], 0x11
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov edx, dword [esp + 0x98]
push edx
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov eax, dword [esp + 0xe8]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
call fcn.004a4d8a
mov esi, dword [esp + 0xcc]
add esp, 4
test esi, esi
je 0x451b12
mov edi, edi
mov edx, dword [esp + 0xc4]
mov ebx, dword [edx + esi*4 - 4]
dec esi
test ebx, ebx
je 0x451d4e
call fcn.00416610
push ebx
call fcn.004a4d8a
add esp, 4
test esi, esi
jne 0x451d30
jmp 0x451b12
mov eax, dword [esp + 0x11c]
push eax
call fcn.004a4d8a
mov eax, dword [esp + 0x28]
add esp, 4
mov byte [esp + 0x378], 0x12
test eax, eax
je 0x451d7f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x378], 0x11
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov edx, dword [esp + 0x98]
push edx
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov eax, dword [esp + 0xe8]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0xd4]
add esp, 4
push ecx
call fcn.004a4d8a
mov esi, dword [esp + 0xcc]
add esp, 4
test esi, esi
je 0x451e02
mov edi, edi
mov edx, dword [esp + 0xc4]
mov ebx, dword [edx + esi*4 - 4]
dec esi
test ebx, ebx
je 0x451dfe
call fcn.00416610
push ebx
call fcn.004a4d8a
add esp, 4
test esi, esi
jne 0x451de0
mov eax, dword [esp + 0xc4]
push eax
call fcn.004a4d8a
add esp, 4
mov byte [esp + 0x378], 8
mov eax, dword [esp + 0x34]
test eax, eax
je 0x451e2a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1c4]
push eax
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
lea esi, [esp + 0x6c]
call fcn.0044bc70
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x40]
call fcn.00452e60
mov eax, dword [esp + 0x60]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0x2c]
add esp, 4
push ecx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x451e97
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x451eb2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, 0x80004005
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [esp + 0x378], 0x12
test eax, eax
je 0x451ee1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x378], 0x11
mov eax, dword [esp + 0x30]
test eax, eax
je 0x451ef9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x98]
push eax
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004a4d8a
mov esi, dword [esp + 0xcc]
add esp, 4
test esi, esi
je 0x451f72
lea esp, [esp]
mov eax, dword [esp + 0xc4]
mov ebx, dword [eax + esi*4 - 4]
dec esi
test ebx, ebx
je 0x451f6e
call fcn.00416610
push ebx
call fcn.004a4d8a
add esp, 4
test esi, esi
jne 0x451f50
mov ecx, dword [esp + 0xc4]
push ecx
call fcn.004a4d8a
mov byte [esp + 0x37c], 8
mov eax, dword [esp + 0x38]
add esp, 4
test eax, eax
je 0x451f9a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x1c4]
push ecx
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
lea esi, [esp + 0x6c]
call fcn.0044bc70
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ebx, [esp + 0x40]
call fcn.00452e60
mov ecx, dword [esp + 0x60]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0x2c]
add esp, 4
push edx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x451ba7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x451ba7
mov eax, dword [esp + 0x24]
mov byte [esp + 0x378], 0x12
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x378], 0x11
mov eax, dword [esp + 0x30]
test eax, eax
je 0x45203c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x98]
push eax
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004a4d8a
add esp, 4
lea edi, [esp + 0xc4]
call fcn.00434350
jmp 0x451e12
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4521cd
mov edi, dword [edi + 0x118]
mov edx, dword [esp + 0x50]
mov edx, dword [edi + edx*4]
mov ecx, dword [eax]
push 2
push edx
push 1
push eax
mov eax, dword [ecx + 0x14]
call eax
mov dword [esp + 0x58], eax
test eax, eax
je 0x4521cd
mov eax, dword [esp + 0x24]
mov byte [esp + 0x378], 0x12
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x378], 0x11
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4520ef
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x98]
push eax
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004a4d8a
add esp, 4
lea edi, [esp + 0xc4]
call fcn.00434350
mov byte [esp + 0x378], 8
mov eax, dword [esp + 0x34]
test eax, eax
je 0x452157
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1c4]
push eax
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
lea esi, [esp + 0x6c]
call fcn.0044bc70
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x40]
call fcn.00452e60
mov eax, dword [esp + 0x60]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0x2c]
add esp, 4
push ecx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x4518d3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x4518d3
mov eax, dword [esp + 0x24]
mov byte [esp + 0x378], 0x12
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x378], 0x11
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4521f9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x98]
push eax
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004a4d8a
add esp, 4
lea edi, [esp + 0xc4]
call fcn.00434350
jmp 0x451e12
mov dword [esp + 0x58], eax
jmp 0x4520c3
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x45227c
mov edx, dword [esp + 0x50]
mov ecx, dword [eax]
push 2
push edx
push 2
push eax
mov eax, dword [ecx + 0x14]
call eax
mov dword [esp + 0x58], eax
test eax, eax
jne 0x4520c3
mov eax, dword [esp + 0x24]
mov byte [esp + 0x378], 0x12
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x378], 0x11
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4522a8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x98]
push eax
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004a4d8a
add esp, 4
lea edi, [esp + 0xc4]
call fcn.00434350
jmp 0x451e12
mov eax, dword [esp + 0x24]
mov byte [esp + 0x378], 0x12
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x378], 0x11
mov eax, dword [esp + 0x30]
test eax, eax
je 0x452329
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x98]
push eax
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004a4d8a
add esp, 4
lea edi, [esp + 0xc4]
call fcn.00434350
mov byte [esp + 0x378], 8
mov eax, dword [esp + 0x34]
test eax, eax
je 0x452391
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1c4]
push eax
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
lea esi, [esp + 0x6c]
call fcn.0044bc70
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x40]
call fcn.00452e60
mov eax, dword [esp + 0x60]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0x2c]
add esp, 4
push ecx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x4523fe
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x452419
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x24]
mov byte [esp + 0x378], 0x12
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x378], 0x11
mov eax, dword [esp + 0x30]
test eax, eax
je 0x45245f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x98]
push eax
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004a4d8a
add esp, 4
lea edi, [esp + 0xc4]
call fcn.00434350
mov byte [esp + 0x378], 8
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4524c7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1c4]
push eax
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
lea esi, [esp + 0x6c]
call fcn.0044bc70
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x40]
call fcn.00452e60
jmp 0x44febd
mov eax, dword [esp + 0x24]
mov byte [esp + 0x378], 0x12
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x378], 0x11
mov eax, dword [esp + 0x30]
test eax, eax
je 0x452533
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x98]
push eax
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov ecx, dword [esp + 0xe8]
push ecx
call fcn.004a4d8a
mov edx, dword [esp + 0xd4]
add esp, 4
push edx
call fcn.004a4d8a
add esp, 4
lea edi, [esp + 0xc4]
call fcn.00434350
jmp 0x451e12
mov eax, dword [esp + 0x3c]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0xbc]
add esp, 4
push ecx
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov edx, dword [esp + 0xe8]
push edx
call fcn.004a4d8a
mov eax, dword [esp + 0xd4]
add esp, 4
push eax
call fcn.004a4d8a
add esp, 4
lea edi, [esp + 0xc4]
call fcn.00434350
mov byte [esp + 0x378], 8
mov eax, dword [esp + 0x34]
cmp eax, esi
jmp 0x45214d
mov byte [esp + 0x378], 0x1c
test eax, eax
je 0x45260c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x3c]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0xbc]
add esp, 4
push ecx
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov edx, dword [esp + 0xe8]
push edx
call fcn.004a4d8a
mov eax, dword [esp + 0xd4]
add esp, 4
push eax
jmp 0x45212b
mov byte [esp + 0x378], 0x1c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x3c]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0xbc]
add esp, 4
push ecx
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov edx, dword [esp + 0xe8]
push edx
call fcn.004a4d8a
mov eax, dword [esp + 0xd4]
add esp, 4
push eax
jmp 0x452235
mov eax, dword [esp + 0x198]
push eax
call fcn.004a4d8a
mov eax, dword [esp + 0x54]
mov byte [esp + 0x37c], 0x1c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
add esp, 4
push eax
call edx
mov eax, dword [esp + 0x3c]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0xbc]
add esp, 4
push ecx
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov edx, dword [esp + 0xe8]
push edx
call fcn.004a4d8a
mov eax, dword [esp + 0xd4]
add esp, 4
push eax
jmp 0x452235
mov eax, dword [esp + 0x50]
mov byte [esp + 0x378], 0x1c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x3c]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0xbc]
add esp, 4
push ecx
call fcn.004a4d8a
add esp, 4
lea eax, [esp + 0x28c]
mov byte [esp + 0x378], 0xf
call fcn.0046a080
mov edx, dword [esp + 0xe8]
push edx
call fcn.004a4d8a
mov eax, dword [esp + 0xd4]
add esp, 4
push eax
jmp 0x45212b
mov edi, dword [ebp + 0x18]
call fcn.0044c2a0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4527b4
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
jne 0x4516dd
mov byte [esp + 0x378], 8
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4527cc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x1c4]
push eax
mov byte [esp + 0x37c], 7
call fcn.0044e4f0
lea esi, [esp + 0x6c]
call fcn.0044bc70
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x378], 4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ebx, [esp + 0x40]
call fcn.00452e60
mov eax, dword [esp + 0x60]
push eax
call fcn.004a4d8a
mov ecx, dword [esp + 0x2c]
add esp, 4
push ecx
call fcn.004a4d8a
mov byte [esp + 0x37c], 0
mov eax, dword [esp + 0x30]
add esp, 4
test eax, eax
je 0x452839
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x378], 0xffffffff
mov eax, dword [esp + 0x14]
test eax, eax
je 0x452854
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor eax, eax
mov ecx, dword [esp + 0x370]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret