Function at 0x406337
Capabilities:
Get common file path
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2e90
call fcn.0040a6a0
mov dword [ebp - 8], ecx
push esi
push edi
lea ecx, [ebp - 0x84]
call fcn.0041c527
lea ecx, [ebp - 0x74]
call fcn.0041abb0
or dword [ebp - 0x78], 0xffffffff
xor edi, edi
push edi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x84], vtable.CFileException.0
mov dword [ebp - 0x7c], edi
call fcn.0041ae43
call fcn.00421fec
push dword [eax + 0x10]
lea ecx, [ebp - 0x44]
call fcn.0041ad69
push 0x42b598
lea ecx, [ebp - 0x44]
call fcn.0041afbf
lea eax, [ebp - 0x84]
mov esi, 0x42fab8
push eax
push 0x8040
push dword [ebp - 0x44]
mov ecx, esi
call fcn.0041bffd
test eax, eax
push edi
jne 0x4063d4
mov ecx, dword [ebp - 8]
push str.Error:_1
push str.This_program_cannot_be_run_in_a_zip_window
call fcn.0041f24f
mov ecx, dword [ebp - 8]
call fcn.0041739b
jmp 0x40725e
push dword [0x42b498]
mov ecx, esi
call fcn.0041c1aa
lea eax, [ebp - 0x90]
push 7
push eax
mov ecx, esi
call fcn.0041c125
test eax, eax
je 0x407257
push ebx
push 4
pop ebx
and byte [ebp - 0x88], 0
lea eax, [ebp - 0x30]
push 7
push eax
mov ecx, esi
call fcn.0041c125
and byte [ebp - 0x28], 0
lea eax, [ebp - 0x30]
push 7
push eax
push str._ScN_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x40648d
push ebx
push 0x42b494
mov ecx, esi
call fcn.0041c125
push ebx
push 0x42b490
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430224
mov ecx, esi
call fcn.0041c125
lea eax, [ebp - 0x50]
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0x50], edi
call fcn.0041c125
push edi
push 0x42fcb8
push dword [ebp - 0x50]
push 0x42fab8
call fcn.00408d5c
add esp, 0x10
cmp eax, 1
jne 0x40648d
push eax
call fcn.00405356
pop ecx
push dword [ebp - 8]
call fcn.00405360
pop ecx
lea eax, [ebp - 0x30]
push 7
push eax
push str._CsM_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x406618
lea eax, [ebp - 0x10]
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0x10], edi
call fcn.0041c125
push edi
push edi
push edi
push 0x42fab8
push dword [ebp - 0x10]
call fcn.00408c7f
mov ecx, dword [ebp - 8]
add esp, 0x14
add ecx, 0xb0
push eax
mov dword [ebp - 0xc], ecx
call fcn.0041dc5d
push ebx
push 0x4303cc
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430218
mov ecx, esi
call fcn.0041c125
cmp dword [0x4303cc], 1
jne 0x406551
mov eax, dword [ebp - 8]
mov dword [ebp - 0x3c], edi
add eax, 0x84
mov dword [ebp - 0x40], vtable.CRgn.0
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.00405734
lea eax, [ebp - 0x40]
pop ecx
neg eax
sbb eax, eax
pop ecx
and eax, dword [ebp - 0x3c]
push 1
push eax
mov eax, dword [ebp - 8]
push dword [eax + 0x1c]
call dword [sym.imp.USER32.dll_SetWindowRgn]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], vtable.CGdiObject.0
call fcn.0041dcb4
mov dword [ebp - 0x40], vtable.CObject.0
jmp 0x4065dd
push ebx
push 0x430024
mov ecx, esi
call fcn.0041c125
push ebx
push 0x42fac8
mov ecx, esi
call fcn.0041c125
mov eax, dword [ebp - 0xc]
cmp eax, edi
jne 0x406576
xor eax, eax
jmp 0x406579
mov eax, dword [eax + 4]
push dword [0x42fac8]
push dword [0x430024]
push eax
call fcn.00401b0a
add esp, 0xc
cmp dword [0x430218], 1
mov dword [ebp - 4], eax
jne 0x4065cc
mov eax, dword [ebp - 0xc]
cmp eax, edi
jne 0x4065a5
xor eax, eax
jmp 0x4065a8
mov eax, dword [eax + 4]
push dword [0x42fac8]
push dword [0x430024]
push eax
call fcn.00401b0a
add esp, 0xc
push eax
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x84]
call fcn.0041dc5d
mov eax, dword [ebp - 8]
push 1
push dword [ebp - 4]
push dword [eax + 0x1c]
call dword [sym.imp.USER32.dll_SetWindowRgn]
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [ebp - 8]
push 0x18
push dword [eax + 0xb4]
call dword [sym.imp.GDI32.dll_GetObjectA]
push 2
mov ecx, dword [ebp - 8]
push dword [ebp - 0xc0]
push dword [ebp - 0xc4]
push edi
push edi
push edi
call fcn.0041a4be
mov dword [0x4303f8], 1
lea eax, [ebp - 0x30]
push 7
push eax
push str._cap_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x4066f2
mov al, byte [0x43041c]
push 0x18
mov byte [ebp - 0x2bc], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x2bb]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0xc]
xor edi, edi
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], edi
call fcn.0041c125
push dword [ebp - 0xc]
lea eax, [ebp - 0x2bc]
mov ecx, esi
push eax
call fcn.0041c125
lea eax, [ebp - 0x10]
push ebx
push eax
mov ecx, esi
call fcn.0041c125
lea eax, [ebp - 4]
push ebx
push eax
mov ecx, esi
call fcn.0041c125
push ebx
push 0x42b56c
mov ecx, esi
call fcn.0041c125
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x2bc]
push eax
call fcn.0041a427
cmp dword [0x4303f8], edi
jne 0x4066f0
push 0x20
push dword [ebp - 0x10]
push edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.0041a3bf
push 0x20
mov ecx, edi
push dword [ebp - 4]
push 0
call fcn.0041a3f3
push 0x20
push 0
push 0x40000
mov ecx, edi
call fcn.0041a3bf
push 0x20
push 0x400000
push 0
mov ecx, edi
call fcn.0041a3bf
xor edi, edi
lea eax, [ebp - 0x30]
push 7
push eax
push str._mdi_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x406764
lea eax, [ebp - 0x24]
push 8
push eax
mov ecx, esi
call fcn.0041c125
push ebx
push 0x42fca8
mov ecx, esi
call fcn.0041c125
cmp dword [0x4303f8], edi
jne 0x406764
mov eax, dword [ebp - 8]
cmp eax, edi
jne 0x406736
xor eax, eax
jmp 0x406739
mov eax, dword [eax + 0x1c]
lea ecx, [ebp - 0xb0]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
mov ecx, dword [ebp - 8]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 0xac]
push dword [ebp - 0xb0]
push edi
call fcn.0041a4be
lea eax, [ebp - 0x30]
push 7
push eax
push str._CuR_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x4067a6
lea eax, [ebp - 4]
push ebx
push eax
mov ecx, esi
mov dword [ebp - 4], edi
call fcn.0041c125
push 0x42fab8
call fcn.00408962
pop ecx
add eax, 0x210
push eax
call fcn.00408bff
pop ecx
mov dword [0x4303f0], eax
lea eax, [ebp - 0x30]
push 7
push eax
push str._WoP_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x4067cb
push 1
push 0x4303fc
mov ecx, esi
call fcn.0041c125
lea eax, [ebp - 0x30]
push 7
push eax
push str._but_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x406b08
mov al, byte [0x430420]
push 0x18
mov byte [ebp - 0x12c], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x12b]
rep stosd dword es:[edi], eax
push dword [0x430028]
and dword [ebp - 4], 0
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.004099b0
pop ecx
push dword [0x430034]
call fcn.004099b0
and dword [0x42fe6c], 0
pop ecx
lea eax, [ebp - 4]
push ebx
push eax
mov ecx, esi
call fcn.0041c125
push dword [ebp - 4]
lea eax, [ebp - 0x12c]
mov ecx, esi
push eax
call fcn.0041c125
lea eax, [ebp - 0x12c]
mov ecx, 0x42fad8
push eax
call fcn.0041ae43
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430400
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430404
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430200
mov ecx, esi
call fcn.0041c125
cmp dword [0x430200], 1
jne 0x4068ea
mov al, byte [0x430424]
push 0x18
mov byte [ebp - 0x190], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x18f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
and dword [ebp - 0xc], 0
push ebx
stosb byte es:[edi], al
lea eax, [ebp - 0xc]
mov ecx, esi
push eax
call fcn.0041c125
push dword [ebp - 0xc]
lea eax, [ebp - 0x190]
mov ecx, esi
push eax
call fcn.0041c125
lea eax, [ebp - 0x190]
mov ecx, 0x430210
push eax
call fcn.0041ae43
push 1
push 0x42fcb4
mov ecx, esi
call fcn.0041c125
push 0x430428
mov ecx, 0x42fcbc
call fcn.0041ae43
mov al, byte [0x43042c]
push 0x18
mov byte [ebp - 0x1f4], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x1f3]
rep stosd dword es:[edi], eax
and dword [ebp - 0x4c], 0
push ebx
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x4c]
mov ecx, esi
push eax
call fcn.0041c125
push dword [ebp - 0x4c]
lea eax, [ebp - 0x1f4]
mov ecx, esi
push eax
call fcn.0041c125
lea eax, [ebp - 0x1f4]
mov ecx, 0x42fcbc
push eax
call fcn.0041ae43
push ebx
push 0x42fc8c
mov ecx, esi
call fcn.0041c125
push 1
push 0x43002c
mov ecx, esi
call fcn.0041c125
cmp byte [0x43002c], 0
jne 0x406984
push ebx
push 0x430018
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430214
mov ecx, esi
call fcn.0041c125
mov eax, dword [0x4303e4]
push ebx
mov ecx, esi
lea eax, [eax*4 + 0x430050]
push eax
call fcn.0041c125
push 1
push 0x4301f8
mov ecx, esi
call fcn.0041c125
cmp byte [0x4301f8], 3
jne 0x406a0c
push ebx
push 0x430030
mov ecx, esi
call fcn.0041c125
mov al, byte [0x430430]
mov ecx, 0x9c3
mov byte [ebp - 0x2e90], al
xor eax, eax
lea edi, [ebp - 0x2e8f]
and dword [ebp - 0x48], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x48]
push ebx
push eax
mov ecx, esi
call fcn.0041c125
push dword [ebp - 0x48]
lea eax, [ebp - 0x2e90]
mov ecx, esi
push eax
call fcn.0041c125
lea eax, [ebp - 0x2e90]
mov ecx, 0x42fca4
push eax
call fcn.0041ae43
push ebx
push 0x43001c
mov ecx, esi
call fcn.0041c125
cmp dword [0x43001c], 1
jne 0x406a90
and dword [ebp - 0xc], 0
lea eax, [ebp - 0xc]
push ebx
push eax
mov ecx, esi
call fcn.0041c125
push 0
push 0x42fcc0
push dword [ebp - 0xc]
mov edi, 0x42fab8
push edi
call fcn.00408d5c
and dword [ebp - 0xc], 0
add esp, 0x10
lea eax, [ebp - 0xc]
mov ecx, esi
push ebx
push eax
call fcn.0041c125
push 0
push 0x42fc94
push dword [ebp - 0xc]
push edi
call fcn.00408d5c
and dword [ebp - 0xc], 0
add esp, 0x10
lea eax, [ebp - 0xc]
mov ecx, esi
push ebx
push eax
call fcn.0041c125
push 0
push 0x42fc88
push dword [ebp - 0xc]
push edi
call fcn.00408d5c
add esp, 0x10
push ebx
push 0x42fe6c
mov ecx, esi
call fcn.0041c125
mov eax, dword [0x42fe6c]
shl eax, 2
push eax
call fcn.004098e0
pop ecx
mov dword [0x430034], eax
push dword [0x42fe6c]
call fcn.004098e0
mov dword [0x430028], eax
mov eax, dword [0x42fe6c]
pop ecx
shl eax, 2
push eax
mov ecx, esi
push dword [0x430034]
call fcn.0041c125
push dword [0x42fe6c]
mov ecx, esi
push dword [0x430028]
call fcn.0041c125
push dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x12c]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push eax
call fcn.00405b37
xor edi, edi
lea eax, [ebp - 0x30]
push 7
push eax
push str._HkD_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x406c58
lea eax, [ebp - 0x10]
push ebx
push eax
mov ecx, esi
mov dword [0x4303e8], 1
mov dword [ebp - 0x10], edi
call fcn.0041c125
lea eax, [ebp - 0x780]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push edi
lea eax, [ebp - 0x780]
push dword [0x43020c]
push eax
lea eax, [ebp - 0x67c]
push 0x430434
push eax
call fcn.0040a5c0
add esp, 0x14
mov ecx, esi
call fcn.0041c1d9
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x67c]
push pe_nt_image_headers32
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
lea eax, [ebp - 0x67c]
push eax
call fcn.0040a590
pop ecx
lea ecx, [ebp - 0x6c]
call fcn.0041c527
lea ecx, [ebp - 0x5c]
call fcn.0041abb0
or dword [ebp - 0x60], 0xffffffff
push edi
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x6c], vtable.CFileException.0
mov dword [ebp - 0x64], edi
call fcn.0041ae43
lea ecx, [ebp - 0xa0]
call fcn.0041be7e
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x67c]
push 0x9041
push eax
call fcn.0041bffd
test eax, eax
je 0x406c26
push dword [ebp - 0x10]
call fcn.004098e0
pop ecx
mov dword [ebp - 4], eax
push dword [ebp - 0x10]
mov ecx, esi
push eax
call fcn.0041c125
push dword [ebp - 0x10]
lea ecx, [ebp - 0xa0]
push dword [ebp - 4]
call fcn.0041c15f
lea ecx, [ebp - 0xa0]
call fcn.0041c223
push dword [ebp - 4]
call fcn.004099b0
pop ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
add ecx, eax
push edi
push ecx
mov ecx, esi
call fcn.0041c1aa
lea ecx, [ebp - 0xa0]
call fcn.0041bf1e
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x6c], vtable.CFileException.0
call fcn.0041acfb
mov dword [ebp - 0x6c], vtable.CObject.0
lea eax, [ebp - 0x30]
push 7
push eax
push str._txt_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x406dc8
mov al, byte [0x430438]
push 0x31
mov byte [ebp - 0x3e8], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x3e7]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
and dword [ebp - 4], 0
push ebx
stosb byte es:[edi], al
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.0041c125
push dword [ebp - 4]
lea eax, [ebp - 0x3e8]
mov ecx, esi
push eax
call fcn.0041c125
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430400
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430404
mov ecx, esi
call fcn.0041c125
and byte [ebp - 0x11], 0
push 1
pop edi
lea eax, [ebp - 0x11]
push edi
push eax
mov ecx, esi
call fcn.0041c125
cmp byte [ebp - 0x11], 0
push ebx
jne 0x406d85
push 0x42fca0
mov ecx, esi
call fcn.0041c125
push ebx
push 0x42fc90
mov ecx, esi
call fcn.0041c125
push ebx
push 0x43004c
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430040
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430044
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430048
mov ecx, esi
call fcn.0041c125
push edi
push 0x430038
mov ecx, esi
call fcn.0041c125
push edi
push 0x430039
mov ecx, esi
call fcn.0041c125
push edi
push 0x43003a
mov ecx, esi
call fcn.0041c125
push dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x3e8]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push eax
call fcn.00405dbf
jmp 0x406dc6
push 0x430208
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430220
mov ecx, esi
call fcn.0041c125
push ebx
push 0x42fc84
mov ecx, esi
call fcn.0041c125
push dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x3e8]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push eax
call fcn.00405fa6
xor edi, edi
lea eax, [ebp - 0x30]
push 7
push eax
push str._GrB_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x406ead
mov al, byte [0x43043c]
push 0x31
mov byte [ebp - 0x578], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x577]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
and dword [ebp - 4], 0
push ebx
stosb byte es:[edi], al
lea eax, [ebp - 4]
mov ecx, esi
push eax
call fcn.0041c125
push dword [ebp - 4]
lea eax, [ebp - 0x578]
mov ecx, esi
push eax
call fcn.0041c125
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430400
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430404
mov ecx, esi
call fcn.0041c125
mov eax, dword [0x4303ec]
push ebx
mov ecx, esi
lea eax, [eax*4 + 0x42fcc8]
push eax
call fcn.0041c125
mov eax, dword [0x4303ec]
shl eax, 2
cmp dword [eax + 0x42fcc8], 0
jne 0x406e90
lea eax, [eax + 0x42fe70]
push ebx
push eax
mov ecx, esi
call fcn.0041c125
mov eax, dword [0x4303ec]
push ebx
mov ecx, esi
lea eax, [eax*4 + 0x430228]
push eax
call fcn.0041c125
push dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x578]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push eax
call fcn.00405ce3
xor edi, edi
lea eax, [ebp - 0x30]
push 7
push eax
push str._edi_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x406f89
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430400
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430404
mov ecx, esi
call fcn.0041c125
push 1
push 0x430014
mov ecx, esi
call fcn.0041c125
push 1
push 0x42fc9c
mov ecx, esi
call fcn.0041c125
push ebx
push 0x43021c
mov ecx, esi
call fcn.0041c125
push 0x430440
mov ecx, 0x42fcbc
call fcn.0041ae43
mov al, byte [0x430444]
push 0x18
mov dword [ebp - 0x58], edi
mov byte [ebp - 0x258], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x257]
push ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x58]
mov ecx, esi
push eax
call fcn.0041c125
push dword [ebp - 0x58]
lea eax, [ebp - 0x258]
mov ecx, esi
push eax
call fcn.0041c125
lea eax, [ebp - 0x258]
mov ecx, 0x42fcbc
push eax
call fcn.0041ae43
push dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.00406086
xor edi, edi
lea eax, [ebp - 0x30]
push 7
push eax
push str._bmp_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x4070a5
mov al, byte [0x430448]
push 0x31
mov dword [ebp - 0xc], edi
mov byte [ebp - 0x4b0], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x4af]
and byte [ebp - 0x34], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 4]
xor edi, edi
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0x10], edi
mov dword [ebp - 4], edi
call fcn.0041c125
lea eax, [ebp - 0x70]
push edi
push eax
push dword [ebp - 4]
push 0x42fab8
call fcn.00408d5c
add esp, 0x10
push 1
pop ecx
cmp eax, ecx
jne 0x406ff9
mov dword [ebp - 0xc], ecx
mov eax, dword [0x43040c]
mov ecx, dword [ebp - 8]
push dword [ebp - 0x70]
lea ecx, [ecx + eax*8 + 0x120]
call fcn.0041dc5d
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430400
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430404
mov ecx, esi
call fcn.0041c125
and byte [ebp - 0x34], 0
lea eax, [ebp - 0x34]
push 1
push eax
mov ecx, esi
call fcn.0041c125
cmp byte [ebp - 0x34], 1
jne 0x407079
lea eax, [ebp - 0x10]
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0x10], edi
call fcn.0041c125
push dword [ebp - 0x10]
lea eax, [ebp - 0x4b0]
mov ecx, esi
push eax
call fcn.0041c125
mov eax, dword [ebp - 0x10]
and byte [ebp + eax - 0x4b0], 0
cmp dword [ebp - 0xc], 1
jne 0x40709d
push dword [ebp - 0x34]
lea eax, [ebp - 0x4b0]
mov ecx, dword [ebp - 8]
push eax
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.004061bd
inc dword [0x43040c]
xor edi, edi
lea eax, [ebp - 0x30]
push 7
push eax
push str._TsL_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x407154
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430400
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430404
mov ecx, esi
call fcn.0041c125
lea eax, [ebp - 0x38]
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0x38], edi
call fcn.0041c125
push dword [ebp - 0x38]
call fcn.004098e0
pop ecx
mov dword [ebp - 4], eax
push dword [ebp - 0x38]
mov ecx, esi
push eax
call fcn.0041c125
push ebx
push 0x4303dc
mov ecx, esi
call fcn.0041c125
push ebx
push 0x4303e0
mov ecx, esi
call fcn.0041c125
push ebx
push 0x42fcb0
mov ecx, esi
call fcn.0041c125
push dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 4]
call fcn.00405bee
push dword [ebp - 4]
call fcn.004099b0
pop ecx
lea eax, [ebp - 0x30]
push 7
push eax
push str._scl_
call fcn.0040a660
add esp, 0xc
cmp eax, edi
jne 0x40723e
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041c125
push 1
push 0x42fab0
mov ecx, esi
call fcn.0041c125
push 1
push 0x42fcac
mov ecx, esi
call fcn.0041c125
push ebx
push 0x430020
mov ecx, esi
call fcn.0041c125
push ebx
push 0x42fc98
mov ecx, esi
call fcn.0041c125
push ebx
push 0x4301fc
mov ecx, esi
call fcn.0041c125
push 1
push 0x4301f4
mov ecx, esi
call fcn.0041c125
push 0x43044c
mov ecx, 0x42fcbc
call fcn.0041ae43
mov al, byte [0x430450]
push 0x18
mov dword [ebp - 0x54], edi
mov byte [ebp - 0x320], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x31f]
push ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [ebp - 0x54]
mov ecx, esi
push eax
call fcn.0041c125
push dword [ebp - 0x54]
lea eax, [ebp - 0x320]
mov ecx, esi
push eax
call fcn.0041c125
lea eax, [ebp - 0x320]
mov ecx, 0x42fcbc
push eax
call fcn.0041ae43
push dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.0040611a
xor edi, edi
lea eax, [ebp - 0x90]
push 7
push eax
mov ecx, esi
call fcn.0041c125
test eax, eax
jne 0x4063fd
pop ebx
mov ecx, esi
call fcn.0041c223
lea ecx, [ebp - 0x44]
call fcn.0041acfb
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x84], vtable.CFileException.0
call fcn.0041acfb
pop edi
pop esi
leave
ret