Function at 0x42e0e8
Capabilities:
Check if file exists
Get common file path
Move file

Disassembly:
push 0x384
mov eax, 0x5d93bc
call fcn.00447fd9
mov eax, dword [ebp + 8]
xor ecx, ecx
mov esi, dword [ebp + 0xc]
push ecx
mov dword [ebp - 0x380], eax
xor eax, eax
mov dword [ebp - 0x390], ecx
mov dword [ebp - 0x2c8], ecx
lea ecx, [ebp - 0x2d8]
push 0x64a7dc
mov dword [ebp - 0x2c4], 7
mov word [ebp - 0x2d8], ax
call fcn.00401ea0
xor ecx, ecx
mov dword [ebp - 0x24c], 7
xor eax, eax
mov dword [ebp - 4], ecx
push str.InstallConfig1
mov ebx, ecx
mov dword [ebp - 0x37c], ecx
mov dword [ebp - 0x364], ecx
mov edi, ecx
mov dword [ebp - 0x360], ecx
mov dword [ebp - 0x368], ecx
mov dword [ebp - 0x36c], ecx
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x374], ecx
mov dword [ebp - 0x378], ecx
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x250], ecx
mov word [ebp - 0x260], ax
call fcn.004a6baf
pop ecx
push eax
push str.InstallConfig1
lea ecx, [ebp - 0x260]
call fcn.00401ea0
xor eax, eax
mov ecx, esi
inc eax
mov byte [ebp - 4], al
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x358]
push eax
call fcn.0042aa77
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x248]
add eax, 0x28
push eax
call fcn.00403980
xor eax, eax
mov byte [ebp - 4], 3
push edi
inc eax
lea ecx, [ebp - 0x260]
push eax
call fcn.00401de0
cmp dword [ebp - 0x238], edi
je 0x42e20f
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
mov dword [ebp - 0x360], eax
and dword [ebp - 0x220], 0
xor eax, eax
push str.InstallConfig2
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004a6baf
pop ecx
push eax
push str.InstallConfig2
lea ecx, [ebp - 0x230]
call fcn.00401ea0
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0x358]
mov ecx, esi
push eax
call fcn.0042aa77
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x248]
add eax, 0x28
cmp ecx, eax
je 0x42e27b
push 0xffffffffffffffff
push 0
push eax
call fcn.004020b0
xor eax, eax
mov byte [ebp - 4], 3
push 0
inc eax
lea ecx, [ebp - 0x230]
push eax
call fcn.00401de0
cmp dword [ebp - 0x238], 0
je 0x42e2b3
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
mov dword [ebp - 0x364], eax
and dword [ebp - 0x220], 0
xor eax, eax
push str.InstallConfig3
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004a6baf
pop ecx
push eax
push str.InstallConfig3
lea ecx, [ebp - 0x230]
call fcn.00401ea0
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0x358]
mov ecx, esi
push eax
call fcn.0042aa77
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x248]
add eax, 0x28
cmp ecx, eax
je 0x42e31f
push 0xffffffffffffffff
push 0
push eax
call fcn.004020b0
xor eax, eax
mov byte [ebp - 4], 3
push 0
inc eax
lea ecx, [ebp - 0x230]
push eax
call fcn.00401de0
cmp dword [ebp - 0x238], 0
je 0x42e351
cmp dword [ebp - 0x234], 8
lea edi, [ebp - 0x248]
cmovae edi, dword [ebp - 0x248]
and dword [ebp - 0x220], 0
xor eax, eax
push str.InstallConfig4
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004a6baf
pop ecx
push eax
push str.InstallConfig4
lea ecx, [ebp - 0x230]
call fcn.00401ea0
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x358]
mov ecx, esi
push eax
call fcn.0042aa77
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x248]
add eax, 0x28
cmp ecx, eax
je 0x42e3bd
push 0xffffffffffffffff
push 0
push eax
call fcn.004020b0
xor eax, eax
mov byte [ebp - 4], 3
push 0
inc eax
lea ecx, [ebp - 0x230]
push eax
call fcn.00401de0
cmp dword [ebp - 0x238], 0
je 0x42e3f5
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
mov dword [ebp - 0x36c], eax
and dword [ebp - 0x220], 0
xor eax, eax
push str.InstallConfig5
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004a6baf
pop ecx
push eax
push str.InstallConfig5
lea ecx, [ebp - 0x230]
call fcn.00401ea0
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x358]
mov ecx, esi
push eax
call fcn.0042aa77
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x248]
add eax, 0x28
cmp ecx, eax
je 0x42e461
push 0xffffffffffffffff
push 0
push eax
call fcn.004020b0
xor eax, eax
mov byte [ebp - 4], 3
push 0
inc eax
lea ecx, [ebp - 0x230]
push eax
call fcn.00401de0
cmp dword [ebp - 0x238], 0
je 0x42e493
cmp dword [ebp - 0x234], 8
lea ebx, [ebp - 0x248]
cmovae ebx, dword [ebp - 0x248]
and dword [ebp - 0x220], 0
xor eax, eax
push str.InstallConfig6
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004a6baf
pop ecx
push eax
push str.InstallConfig6
lea ecx, [ebp - 0x230]
call fcn.00401ea0
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0x358]
mov ecx, esi
push eax
call fcn.0042aa77
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x248]
add eax, 0x28
cmp ecx, eax
je 0x42e4ff
push 0xffffffffffffffff
push 0
push eax
call fcn.004020b0
xor eax, eax
mov byte [ebp - 4], 3
push 0
inc eax
lea ecx, [ebp - 0x230]
push eax
call fcn.00401de0
cmp dword [ebp - 0x238], 0
je 0x42e537
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
mov dword [ebp - 0x37c], eax
and dword [ebp - 0x220], 0
xor eax, eax
push str.InstallConfig7
mov dword [ebp - 0x21c], 7
mov word [ebp - 0x230], ax
call fcn.004a6baf
pop ecx
push eax
push str.InstallConfig7
lea ecx, [ebp - 0x230]
call fcn.00401ea0
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 9
push eax
lea eax, [ebp - 0x358]
mov ecx, esi
push eax
call fcn.0042aa77
mov eax, dword [ebp - 0x358]
lea ecx, [ebp - 0x248]
add eax, 0x28
cmp ecx, eax
je 0x42e5a3
push 0xffffffffffffffff
push 0
push eax
call fcn.004020b0
xor eax, eax
mov byte [ebp - 4], 3
push 0
inc eax
lea ecx, [ebp - 0x230]
push eax
call fcn.00401de0
cmp dword [ebp - 0x238], 0
je 0x42e5db
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
mov dword [ebp - 0x370], eax
and dword [ebp - 0x354], 0
test ebx, ebx
je 0x42e607
push 0x5e2e54
push ebx
call fcn.004ab16b
pop ecx
pop ecx
mov ecx, dword [ebp - 0x354]
test eax, eax
push 1
pop eax
cmove ecx, eax
mov dword [ebp - 0x354], ecx
push str.InstallConfig8
lea ecx, [ebp - 0x230]
call fcn.00401d40
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0xa
push eax
mov ecx, esi
call fcn.0042e0cb
push eax
lea ecx, [ebp - 0x248]
call fcn.004038e0
xor eax, eax
mov byte [ebp - 4], 3
xor ebx, ebx
lea ecx, [ebp - 0x230]
push ebx
inc eax
push eax
call fcn.00401de0
cmp dword [ebp - 0x238], ebx
je 0x42e66d
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
mov dword [ebp - 0x374], eax
push str.InstallConfig9
lea ecx, [ebp - 0x230]
call fcn.00401d40
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0xb
push eax
mov ecx, esi
call fcn.0042e0cb
push eax
lea ecx, [ebp - 0x248]
call fcn.004038e0
xor eax, eax
mov byte [ebp - 4], 3
push ebx
inc eax
lea ecx, [ebp - 0x230]
push eax
call fcn.00401de0
cmp dword [ebp - 0x238], 0
je 0x42e6d2
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
mov dword [ebp - 0x378], eax
push str.InstallConfig10
lea ecx, [ebp - 0x230]
call fcn.00401d40
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0xc
push eax
mov ecx, esi
call fcn.0042e0cb
push eax
lea ecx, [ebp - 0x248]
call fcn.004038e0
xor eax, eax
mov byte [ebp - 4], 3
push ebx
inc eax
lea ecx, [ebp - 0x230]
push eax
call fcn.00401de0
cmp dword [ebp - 0x238], 0
je 0x42e737
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
mov dword [ebp - 0x368], eax
push str.InstallConfig11
lea ecx, [ebp - 0x230]
call fcn.00401d40
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0xd
push eax
mov ecx, esi
call fcn.0042e0cb
push eax
lea ecx, [ebp - 0x248]
call fcn.004038e0
xor eax, eax
mov byte [ebp - 4], 3
push ebx
inc eax
lea ecx, [ebp - 0x230]
push eax
call fcn.00401de0
cmp dword [ebp - 0x238], 0
je 0x42e79c
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
mov dword [ebp - 0x35c], eax
mov eax, dword [ebp - 0x370]
test eax, eax
je 0x42e7ba
push eax
call fcn.004b0a42
mov ebx, eax
pop ecx
test ebx, ebx
js 0x42e7b8
cmp ebx, 0xa
jle 0x42e7ba
xor ebx, ebx
push 0x64a7dc
lea ecx, [ebp - 0x2f0]
call fcn.00401d40
mov eax, dword [ebp - 0x364]
mov byte [ebp - 4], 0xe
test eax, eax
je 0x42e7e4
push eax
lea ecx, [ebp - 0x2f0]
call fcn.00401e50
lea eax, [ebp - 0x2c0]
push eax
call fcn.0049c6e1
pop ecx
cmp dword [ebp - 0x2b0], 0
mov byte [ebp - 4], 0xf
jne 0x42e818
mov ecx, dword [ebp - 0x380]
push str.AppDataPathError
call fcn.00401d40
xor edi, edi
xor ebx, ebx
inc edi
jmp 0x42f000
mov esi, 0x64a880
lea ecx, [ebp - 0x2c0]
push esi
call fcn.00403890
mov eax, dword [ebp - 0x360]
test eax, eax
je 0x42e84b
push eax
lea ecx, [ebp - 0x2c0]
call fcn.00403890
push esi
lea ecx, [ebp - 0x2c0]
call fcn.00403890
cmp dword [ebp - 0x2ac], 8
lea eax, [ebp - 0x2c0]
cmovae eax, dword [ebp - 0x2c0]
push eax
call fcn.0047ea82
pop ecx
lea eax, [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x290]
call fcn.00403980
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x2f0]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x290]
call fcn.00403c90
lea eax, [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x2a8]
call fcn.00403980
push str.gmicon.ico
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 0x11
call fcn.00403890
call fcn.004212c6
mov ecx, eax
call fcn.00480bc2
push eax
lea ecx, [ebp - 0x350]
call fcn.00401d40
cmp dword [ebp - 0x27c], 8
lea eax, [ebp - 0x290]
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmovae eax, dword [ebp - 0x290]
push eax
mov byte [ebp - 4], 0x12
call esi
test eax, eax
je 0x42efb2
cmp dword [ebp - 0x368], 0
je 0x42e9c3
lea eax, [ebp - 0x2c0]
push eax
lea ecx, [ebp - 0x278]
call fcn.00403980
push dword [ebp - 0x368]
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x13
call fcn.00403890
push str.regsvr32.exe__s
lea ecx, [ebp - 0x260]
call fcn.00401d40
push 0x5e463c
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x14
call fcn.00403890
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x278]
push eax
lea ecx, [ebp - 0x260]
call fcn.00403c90
push 0x5e463c
lea ecx, [ebp - 0x260]
call fcn.00403890
cmp dword [ebp - 0x24c], 8
lea eax, [ebp - 0x260]
push 0x7d0
cmovae eax, dword [ebp - 0x260]
xor ecx, ecx
inc ecx
push ecx
push eax
call fcn.0049c4ca
add esp, 0xc
lea ecx, [ebp - 0x260]
xor eax, eax
inc eax
push 0
push eax
call fcn.00401de0
xor eax, eax
mov byte [ebp - 4], 0x12
push 0
inc eax
lea ecx, [ebp - 0x278]
push eax
call fcn.00401de0
lea ecx, [ebp - 0x338]
call fcn.0042c790
cmp dword [ebp - 0x294], 8
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 0x15
cmovae eax, dword [ebp - 0x2a8]
push eax
call esi
sub esp, 0x18
mov ecx, esp
test eax, eax
je 0x42ea00
lea eax, [ebp - 0x2a8]
push eax
call fcn.00403980
jmp 0x42ea0a
push str.GameIconNull
call fcn.00401d40
lea ecx, [ebp - 0x338]
call fcn.0042e038
mov ecx, dword [ebp - 0x374]
test ecx, ecx
je 0x42ea46
push dword [ebp - 0x35c]
cmp dword [ebp - 0x27c], 8
lea eax, [ebp - 0x290]
push ecx
cmovae eax, dword [ebp - 0x290]
lea ecx, [ebp - 0x338]
push eax
call fcn.0042d6e8
mov ecx, dword [ebp - 0x378]
test ecx, ecx
je 0x42ea77
push dword [ebp - 0x35c]
cmp dword [ebp - 0x27c], 8
lea eax, [ebp - 0x290]
push ecx
cmovae eax, dword [ebp - 0x290]
lea ecx, [ebp - 0x338]
push eax
call fcn.0042d53a
push edi
lea ecx, [ebp - 0x230]
call fcn.00401d40
mov byte [ebp - 4], 0x16
test edi, edi
je 0x42ef93
lea ecx, [ebp - 0x38c]
call fcn.0049012f
push edi
lea ecx, [ebp - 0x38c]
mov byte [ebp - 4], 0x17
call fcn.00492dac
test eax, eax
je 0x42eba7
xor ecx, ecx
inc ecx
cmp eax, ecx
jne 0x42eb8c
push edi
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x38c]
call fcn.00492586
lea eax, [ebp - 0x308]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x278]
push eax
call fcn.00489430
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0x260]
push eax
call fcn.00489430
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 0x1a
push eax
call fcn.0049da33
lea eax, [ebp - 0x260]
push eax
call fcn.0049da33
add esp, 0x18
lea eax, [ebp - 0x260]
lea ecx, [ebp - 0x278]
push eax
call fcn.00423f94
neg eax
push str.alimama
push dword [ebp - 0x360]
sbb al, al
inc al
xor al, 1
movzx esi, al
call fcn.004ab16b
pop ecx
pop ecx
push 1
test eax, eax
lea ecx, [ebp - 0x260]
pop eax
push 0
push eax
cmove esi, eax
call fcn.00422a84
xor eax, eax
lea ecx, [ebp - 0x278]
push 0
inc eax
push eax
call fcn.00422a84
xor eax, eax
mov byte [ebp - 4], 0x17
push 0
inc eax
lea ecx, [ebp - 0x308]
push eax
call fcn.00401de0
test esi, esi
jne 0x42eba1
push str.ShotCutExist
lea ecx, [ebp - 0x2d8]
call fcn.00401e50
jmp 0x42eeca
mov esi, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004a2e40
add esp, 0xc
lea eax, [ebp - 0x218]
push 0
push 0x19
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
test eax, eax
je 0x42eeca
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x278]
call fcn.00401d40
push 0x64a880
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x1b
call fcn.00403890
mov eax, dword [ebp - 0x36c]
test eax, eax
je 0x42ec5c
push eax
lea eax, [ebp - 0x260]
push edi
push eax
call fcn.0048799a
add esp, 0xc
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0x1c
push eax
lea ecx, [ebp - 0x278]
call fcn.00403c90
lea eax, [ebp - 0x260]
push eax
lea ecx, [ebp - 0x230]
call fcn.004038e0
xor eax, eax
mov byte [ebp - 4], 0x1b
push 0
inc eax
lea ecx, [ebp - 0x260]
push eax
call fcn.00401de0
jmp 0x42ec68
push edi
lea ecx, [ebp - 0x278]
call fcn.00403890
push str..lnk
lea ecx, [ebp - 0x278]
call fcn.00403890
push str.alimama
push dword [ebp - 0x360]
call fcn.004ab16b
pop ecx
pop ecx
test eax, eax
jne 0x42ede9
mov eax, dword [ebp - 0x36c]
test eax, eax
je 0x42eeb5
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x260]
call fcn.00401d40
push 0x64a880
lea ecx, [ebp - 0x260]
mov byte [ebp - 4], 0x1d
call fcn.00403890
push edi
lea ecx, [ebp - 0x260]
call fcn.00403890
push str..lnk
lea ecx, [ebp - 0x260]
call fcn.00403890
cmp dword [ebp - 0x24c], 8
lea eax, [ebp - 0x260]
cmovae eax, dword [ebp - 0x260]
push eax
call esi
test eax, eax
jne 0x42eda2
xor esi, esi
lea eax, [ebp - 0x218]
push esi
push 0x10
push eax
push esi
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x260]
call fcn.00401e50
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x278]
call fcn.00401e50
push 0x64a880
lea ecx, [ebp - 0x260]
call fcn.00403890
push 0x64a880
lea ecx, [ebp - 0x278]
call fcn.00403890
push edi
lea ecx, [ebp - 0x260]
call fcn.00403890
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x278]
call fcn.00403c90
push edi
lea ecx, [ebp - 0x230]
call fcn.00401e50
mov esi, str..lnk
lea ecx, [ebp - 0x260]
push esi
call fcn.00403890
push esi
lea ecx, [ebp - 0x278]
call fcn.00403890
cmp dword [ebp - 0x264], 8
lea ecx, [ebp - 0x278]
lea eax, [ebp - 0x260]
cmovae ecx, dword [ebp - 0x278]
cmp dword [ebp - 0x24c], 8
push ecx
cmovae eax, dword [ebp - 0x260]
push eax
call fcn.004b1242
pop ecx
pop ecx
xor eax, eax
lea ecx, [ebp - 0x260]
push 0
inc eax
push eax
call fcn.00401de0
jmp 0x42eeb5
cmp dword [ebp - 0x294], 8
lea eax, [ebp - 0x2a8]
cmovae eax, dword [ebp - 0x2a8]
push eax
call esi
push dword [ebp - 0x35c]
test eax, eax
lea ecx, [ebp - 0x290]
push 0
push 0
push 1
lea eax, [ebp - 0x278]
je 0x42ee5b
cmp dword [ebp - 0x294], 8
lea edx, [ebp - 0x2a8]
cmovae edx, dword [ebp - 0x2a8]
cmp dword [ebp - 0x27c], 8
push edx
cmovae ecx, dword [ebp - 0x290]
cmp dword [ebp - 0x264], 8
push 0
cmovae eax, dword [ebp - 0x278]
push ecx
push eax
call fcn.0049c15b
add esp, 0x20
jmp 0x42ee83
cmp dword [ebp - 0x27c], 8
push 0
cmovae ecx, dword [ebp - 0x290]
cmp dword [ebp - 0x264], 8
push ecx
cmovae eax, dword [ebp - 0x278]
push eax
call fcn.0049c249
add esp, 0x1c
cmp dword [ebp - 0x264], 8
lea eax, [ebp - 0x278]
cmovae eax, dword [ebp - 0x278]
push eax
call esi
lea ecx, [ebp - 0x2d8]
test eax, eax
jne 0x42eeab
push str.CreateShortCutFailed
jmp 0x42eeb0
push str.CreateShortCutSuccess
call fcn.00401e50
xor eax, eax
mov byte [ebp - 4], 0x17
push 0
inc eax
lea ecx, [ebp - 0x278]
push eax
call fcn.00401de0
cmp dword [ebp - 0x354], 0
je 0x42ef88
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
call fcn.004a0863
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x190
call esi
push 0x3e8
call esi
mov edi, dword [ebp - 0x37c]
test edi, edi
je 0x42ef39
push edi
call fcn.0049f5ac
pop ecx
test eax, eax
je 0x42ef39
push edi
call fcn.004a0468
pop ecx
test eax, eax
je 0x42ef39
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
push ebx
cmovae eax, dword [ebp - 0x230]
push edi
push eax
call fcn.004a089a
add esp, 0xc
jmp 0x42ef81
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004a2e40
lea eax, [ebp - 0x218]
push 0x104
push eax
call fcn.0049f5fd
cmp dword [ebp - 0x21c], 8
lea ecx, [ebp - 0x218]
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push ecx
push eax
call fcn.0049f9bd
add esp, 0x1c
push 0x190
call esi
lea ecx, [ebp - 0x38c]
call fcn.004052d0
xor ebx, ebx
lea ecx, [ebp - 0x230]
xor edi, edi
push ebx
inc edi
push edi
call fcn.00401de0
lea ecx, [ebp - 0x338]
call fcn.0042c7fd
jmp 0x42efc7
push str.CompressFailed
lea ecx, [ebp - 0x2d8]
call fcn.00401e50
xor edi, edi
xor ebx, ebx
inc edi
mov ecx, dword [ebp - 0x380]
lea eax, [ebp - 0x2d8]
push eax
call fcn.00403ed0
push ebx
push edi
lea ecx, [ebp - 0x350]
call fcn.00401de0
push ebx
push edi
lea ecx, [ebp - 0x2a8]
call fcn.00401de0
push ebx
push edi
lea ecx, [ebp - 0x290]
call fcn.00401de0
push ebx
push edi
lea ecx, [ebp - 0x2c0]
call fcn.00401de0
push ebx
push edi
lea ecx, [ebp - 0x2f0]
call fcn.00401de0
push ebx
push edi
lea ecx, [ebp - 0x248]
call fcn.00401de0
push ebx
push edi
lea ecx, [ebp - 0x2d8]
call fcn.00401de0
mov eax, dword [ebp - 0x380]
call fcn.00447f83
ret 8