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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2e90
call fcn.00409de0
mov dword [ebp - 8], ecx
push esi
push edi
lea ecx, [ebp - 0x84]
call fcn.0041be17
lea ecx, [ebp - 0x74]
call fcn.0041a4a0
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.0041a733
call fcn.004218dc
push dword [eax + 0x10]
lea ecx, [ebp - 0x44]
call fcn.0041a659
push 0x42b53c
lea ecx, [ebp - 0x44]
call fcn.0041a8af
lea eax, [ebp - 0x84]
mov esi, 0x42fa48
push eax
push 0x8040
push dword [ebp - 0x44]
mov ecx, esi
call fcn.0041b8ed
test eax, eax
push edi
jne 0x405c35
mov ecx, dword [ebp - 8]
push str.Error:_1
push str.This_program_cannot_be_run_in_a_zip_window
call fcn.0041eb3f
mov ecx, dword [ebp - 8]
call fcn.00416c8b
jmp 0x406aad
push dword [0x42b450]
mov ecx, esi
call fcn.0041ba9a
lea eax, [ebp - 0x90]
push 7
push eax
mov ecx, esi
call fcn.0041ba15
test eax, eax
je 0x406aa6
push ebx
push 4
pop ebx
and byte [ebp - 0x88], 0
lea eax, [ebp - 0x30]
push 7
push eax
mov ecx, esi
call fcn.0041ba15
and byte [ebp - 0x28], 0
lea eax, [ebp - 0x30]
push 7
push eax
push str._ScN_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x405ce1
push ebx
push 0x42b44c
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x42b448
mov ecx, esi
call fcn.0041ba15
lea eax, [ebp - 0x50]
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0x50], edi
call fcn.0041ba15
push edi
push 0x42ff84
push dword [ebp - 0x50]
push 0x42fa48
call fcn.00408645
add esp, 0x10
cmp eax, 1
jne 0x405ce1
push eax
call fcn.00404cef
pop ecx
push dword [ebp - 8]
call fcn.00404cf9
pop ecx
lea eax, [ebp - 0x30]
push 7
push eax
push str._CsM_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x405e6c
lea eax, [ebp - 0x10]
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0x10], edi
call fcn.0041ba15
push edi
push edi
push edi
push 0x42fa48
push dword [ebp - 0x10]
call fcn.00408568
mov ecx, dword [ebp - 8]
add esp, 0x14
add ecx, 0xb0
push eax
mov dword [ebp - 0xc], ecx
call fcn.0041d54d
push ebx
push 0x430b94
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x4309e4
mov ecx, esi
call fcn.0041ba15
cmp dword [0x430b94], 1
jne 0x405da5
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.004050cd
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.0041d5a4
mov dword [ebp - 0x40], vtable.CObject.0
jmp 0x405e31
push ebx
push 0x4302ec
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x42fa58
mov ecx, esi
call fcn.0041ba15
mov eax, dword [ebp - 0xc]
cmp eax, edi
jne 0x405dca
xor eax, eax
jmp 0x405dcd
mov eax, dword [eax + 4]
push dword [0x42fa58]
push dword [0x4302ec]
push eax
call fcn.00401afc
add esp, 0xc
cmp dword [0x4309e4], 1
mov dword [ebp - 4], eax
jne 0x405e20
mov eax, dword [ebp - 0xc]
cmp eax, edi
jne 0x405df9
xor eax, eax
jmp 0x405dfc
mov eax, dword [eax + 4]
push dword [0x42fa58]
push dword [0x4302ec]
push eax
call fcn.00401afc
add esp, 0xc
push eax
mov eax, dword [ebp - 8]
lea ecx, [eax + 0x84]
call fcn.0041d54d
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.00419dae
mov dword [0x430bc0], 1
lea eax, [ebp - 0x30]
push 7
push eax
push str._cap_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x405f46
mov al, byte [0x430be4]
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.0041ba15
push dword [ebp - 0xc]
lea eax, [ebp - 0x2bc]
mov ecx, esi
push eax
call fcn.0041ba15
lea eax, [ebp - 0x10]
push ebx
push eax
mov ecx, esi
call fcn.0041ba15
lea eax, [ebp - 4]
push ebx
push eax
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x42b520
mov ecx, esi
call fcn.0041ba15
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x2bc]
push eax
call fcn.00419d17
cmp dword [0x430bc0], edi
jne 0x405f44
push 0x20
push dword [ebp - 0x10]
push edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.00419caf
push 0x20
mov ecx, edi
push dword [ebp - 4]
push 0
call fcn.00419ce3
push 0x20
push 0
push 0x40000
mov ecx, edi
call fcn.00419caf
push 0x20
push 0x400000
push 0
mov ecx, edi
call fcn.00419caf
xor edi, edi
lea eax, [ebp - 0x30]
push 7
push eax
push str._mdi_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x405fab
lea eax, [ebp - 0x24]
push 8
push eax
mov ecx, esi
call fcn.0041ba15
cmp dword [0x430bc0], edi
jne 0x405fab
mov eax, dword [ebp - 8]
cmp eax, edi
jne 0x405f7d
xor eax, eax
jmp 0x405f80
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.00419dae
lea eax, [ebp - 0x30]
push 7
push eax
push str._CuR_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x405fed
lea eax, [ebp - 4]
push ebx
push eax
mov ecx, esi
mov dword [ebp - 4], edi
call fcn.0041ba15
push 0x42fa48
call fcn.0040824b
pop ecx
add eax, 0x210
push eax
call fcn.004084e8
pop ecx
mov dword [0x430bb8], eax
lea eax, [ebp - 0x30]
push 7
push eax
push str._WoP_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x406012
push 1
push 0x430bc4
mov ecx, esi
call fcn.0041ba15
lea eax, [ebp - 0x30]
push 7
push eax
push str._but_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x40634f
mov al, byte [0x430be8]
push 0x18
mov byte [ebp - 0x12c], al
pop ecx
xor eax, eax
lea edi, [ebp - 0x12b]
rep stosd dword es:[edi], eax
push dword [0x4302f0]
and dword [ebp - 4], 0
stosw word es:[edi], ax
stosb byte es:[edi], al
call fcn.004092a0
pop ecx
push dword [0x4302fc]
call fcn.004092a0
and dword [0x430134], 0
pop ecx
lea eax, [ebp - 4]
push ebx
push eax
mov ecx, esi
call fcn.0041ba15
push dword [ebp - 4]
lea eax, [ebp - 0x12c]
mov ecx, esi
push eax
call fcn.0041ba15
lea eax, [ebp - 0x12c]
mov ecx, 0x42fa68
push eax
call fcn.0041a733
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430bc8
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430bcc
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430960
mov ecx, esi
call fcn.0041ba15
cmp dword [0x430960], 1
jne 0x406131
mov al, byte [0x430bec]
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.0041ba15
push dword [ebp - 0xc]
lea eax, [ebp - 0x190]
mov ecx, esi
push eax
call fcn.0041ba15
lea eax, [ebp - 0x190]
mov ecx, 0x4309dc
push eax
call fcn.0041a733
push 1
push 0x42ff80
mov ecx, esi
call fcn.0041ba15
push 0x430bf0
mov ecx, 0x42ff88
call fcn.0041a733
mov al, byte [0x430bf4]
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.0041ba15
push dword [ebp - 0x4c]
lea eax, [ebp - 0x1f4]
mov ecx, esi
push eax
call fcn.0041ba15
lea eax, [ebp - 0x1f4]
mov ecx, 0x42ff88
push eax
call fcn.0041a733
push ebx
push 0x42fc1c
mov ecx, esi
call fcn.0041ba15
push 1
push 0x4302f4
mov ecx, esi
call fcn.0041ba15
cmp byte [0x4302f4], 0
jne 0x4061cb
push ebx
push 0x4302e0
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x4309e0
mov ecx, esi
call fcn.0041ba15
mov eax, dword [0x430bac]
push ebx
mov ecx, esi
lea eax, [eax*4 + 0x4307b0]
push eax
call fcn.0041ba15
push 1
push 0x430958
mov ecx, esi
call fcn.0041ba15
cmp byte [0x430958], 3
jne 0x406253
push ebx
push 0x4302f8
mov ecx, esi
call fcn.0041ba15
mov al, byte [0x430bf8]
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.0041ba15
push dword [ebp - 0x48]
lea eax, [ebp - 0x2e90]
mov ecx, esi
push eax
call fcn.0041ba15
lea eax, [ebp - 0x2e90]
mov ecx, 0x42ff74
push eax
call fcn.0041a733
push ebx
push 0x4302e4
mov ecx, esi
call fcn.0041ba15
cmp dword [0x4302e4], 1
jne 0x4062d7
and dword [ebp - 0xc], 0
lea eax, [ebp - 0xc]
push ebx
push eax
mov ecx, esi
call fcn.0041ba15
push 0
push 0x42ff8c
push dword [ebp - 0xc]
mov edi, 0x42fa48
push edi
call fcn.00408645
and dword [ebp - 0xc], 0
add esp, 0x10
lea eax, [ebp - 0xc]
mov ecx, esi
push ebx
push eax
call fcn.0041ba15
push 0
push 0x42fdc4
push dword [ebp - 0xc]
push edi
call fcn.00408645
and dword [ebp - 0xc], 0
add esp, 0x10
lea eax, [ebp - 0xc]
mov ecx, esi
push ebx
push eax
call fcn.0041ba15
push 0
push 0x42fc18
push dword [ebp - 0xc]
push edi
call fcn.00408645
add esp, 0x10
push ebx
push 0x430134
mov ecx, esi
call fcn.0041ba15
mov eax, dword [0x430134]
shl eax, 2
push eax
call fcn.004091d0
pop ecx
mov dword [0x4302fc], eax
push dword [0x430134]
call fcn.004091d0
mov dword [0x4302f0], eax
mov eax, dword [0x430134]
pop ecx
shl eax, 2
push eax
mov ecx, esi
push dword [0x4302fc]
call fcn.0041ba15
push dword [0x430134]
mov ecx, esi
push dword [0x4302f0]
call fcn.0041ba15
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.004054a3
xor edi, edi
lea eax, [ebp - 0x30]
push 7
push eax
push str._HkD_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x40649f
lea eax, [ebp - 0x10]
push ebx
push eax
mov ecx, esi
mov dword [0x430bb0], 1
mov dword [ebp - 0x10], edi
call fcn.0041ba15
lea eax, [ebp - 0x780]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
push edi
lea eax, [ebp - 0x780]
push dword [0x43096c]
push eax
lea eax, [ebp - 0x67c]
push 0x430bfc
push eax
call fcn.00409d00
add esp, 0x14
mov ecx, esi
call fcn.0041bac9
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.00409cd0
pop ecx
lea ecx, [ebp - 0x6c]
call fcn.0041be17
lea ecx, [ebp - 0x5c]
call fcn.0041a4a0
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.0041a733
lea ecx, [ebp - 0xa0]
call fcn.0041b76e
lea eax, [ebp - 0x6c]
lea ecx, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x67c]
push 0x9041
push eax
call fcn.0041b8ed
test eax, eax
je 0x40646d
push dword [ebp - 0x10]
call fcn.004091d0
pop ecx
mov dword [ebp - 4], eax
push dword [ebp - 0x10]
mov ecx, esi
push eax
call fcn.0041ba15
push dword [ebp - 0x10]
lea ecx, [ebp - 0xa0]
push dword [ebp - 4]
call fcn.0041ba4f
lea ecx, [ebp - 0xa0]
call fcn.0041bb13
push dword [ebp - 4]
call fcn.004092a0
pop ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
add ecx, eax
push edi
push ecx
mov ecx, esi
call fcn.0041ba9a
lea ecx, [ebp - 0xa0]
call fcn.0041b80e
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x6c], vtable.CFileException.0
call fcn.0041a5eb
mov dword [ebp - 0x6c], vtable.CObject.0
lea eax, [ebp - 0x30]
push 7
push eax
push str._txt_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x406617
mov al, byte [0x430c00]
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.0041ba15
push dword [ebp - 4]
lea eax, [ebp - 0x3e8]
mov ecx, esi
push eax
call fcn.0041ba15
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430bc8
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430bcc
mov ecx, esi
call fcn.0041ba15
and byte [ebp - 0x11], 0
push 1
pop edi
lea eax, [ebp - 0x11]
push edi
push eax
mov ecx, esi
call fcn.0041ba15
cmp byte [ebp - 0x11], 0
push ebx
jne 0x4065d4
mov eax, dword [0x430bd0]
mov ecx, esi
lea eax, [eax*4 + 0x42fdd0]
push eax
call fcn.0041ba15
mov eax, dword [0x430bd0]
push ebx
mov ecx, esi
lea eax, [eax*4 + 0x42fc20]
push eax
call fcn.0041ba15
mov eax, dword [0x430bd0]
push edi
mov ecx, esi
lea eax, [eax + 0x430970]
push eax
call fcn.0041ba15
mov eax, dword [0x430bd0]
push ebx
mov ecx, esi
lea eax, [eax*8 + 0x430300]
push eax
call fcn.0041ba15
mov eax, dword [0x430bd0]
push edi
mov ecx, esi
lea eax, [eax*8 + 0x430304]
push eax
call fcn.0041ba15
mov eax, dword [0x430bd0]
push edi
mov ecx, esi
lea eax, [eax*8 + 0x430305]
push eax
call fcn.0041ba15
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.0040572b
jmp 0x406615
push 0x430968
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x4309ec
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x42fc14
mov ecx, esi
call fcn.0041ba15
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.00405807
xor edi, edi
lea eax, [ebp - 0x30]
push 7
push eax
push str._GrB_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x4066fc
mov al, byte [0x430c04]
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.0041ba15
push dword [ebp - 4]
lea eax, [ebp - 0x578]
mov ecx, esi
push eax
call fcn.0041ba15
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430bc8
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430bcc
mov ecx, esi
call fcn.0041ba15
mov eax, dword [0x430bb4]
push ebx
mov ecx, esi
lea eax, [eax*4 + 0x42ff90]
push eax
call fcn.0041ba15
mov eax, dword [0x430bb4]
shl eax, 2
cmp dword [eax + 0x42ff90], 0
jne 0x4066df
lea eax, [eax + 0x430138]
push ebx
push eax
mov ecx, esi
call fcn.0041ba15
mov eax, dword [0x430bb4]
push ebx
mov ecx, esi
lea eax, [eax*4 + 0x4309f0]
push eax
call fcn.0041ba15
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.0040564f
xor edi, edi
lea eax, [ebp - 0x30]
push 7
push eax
push str._edi_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x4067d8
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430bc8
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430bcc
mov ecx, esi
call fcn.0041ba15
push 1
push 0x4302dc
mov ecx, esi
call fcn.0041ba15
push 1
push 0x42fdcc
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x4309e8
mov ecx, esi
call fcn.0041ba15
push 0x430c08
mov ecx, 0x42ff88
call fcn.0041a733
mov al, byte [0x430c0c]
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.0041ba15
push dword [ebp - 0x58]
lea eax, [ebp - 0x258]
mov ecx, esi
push eax
call fcn.0041ba15
lea eax, [ebp - 0x258]
mov ecx, 0x42ff88
push eax
call fcn.0041a733
push dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.004058e7
xor edi, edi
lea eax, [ebp - 0x30]
push 7
push eax
push str._bmp_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x4068f4
mov al, byte [0x430c10]
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.0041ba15
lea eax, [ebp - 0x70]
push edi
push eax
push dword [ebp - 4]
push 0x42fa48
call fcn.00408645
add esp, 0x10
push 1
pop ecx
cmp eax, ecx
jne 0x406848
mov dword [ebp - 0xc], ecx
mov eax, dword [0x430bd4]
mov ecx, dword [ebp - 8]
push dword [ebp - 0x70]
lea ecx, [ecx + eax*8 + 0x120]
call fcn.0041d54d
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430bc8
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430bcc
mov ecx, esi
call fcn.0041ba15
and byte [ebp - 0x34], 0
lea eax, [ebp - 0x34]
push 1
push eax
mov ecx, esi
call fcn.0041ba15
cmp byte [ebp - 0x34], 1
jne 0x4068c8
lea eax, [ebp - 0x10]
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0x10], edi
call fcn.0041ba15
push dword [ebp - 0x10]
lea eax, [ebp - 0x4b0]
mov ecx, esi
push eax
call fcn.0041ba15
mov eax, dword [ebp - 0x10]
and byte [ebp + eax - 0x4b0], 0
cmp dword [ebp - 0xc], 1
jne 0x4068ec
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.00405a1e
inc dword [0x430bd4]
xor edi, edi
lea eax, [ebp - 0x30]
push 7
push eax
push str._TsL_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x4069a3
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430bc8
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430bcc
mov ecx, esi
call fcn.0041ba15
lea eax, [ebp - 0x38]
push ebx
push eax
mov ecx, esi
mov dword [ebp - 0x38], edi
call fcn.0041ba15
push dword [ebp - 0x38]
call fcn.004091d0
pop ecx
mov dword [ebp - 4], eax
push dword [ebp - 0x38]
mov ecx, esi
push eax
call fcn.0041ba15
push ebx
push 0x430ba4
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x430ba8
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x42ff7c
mov ecx, esi
call fcn.0041ba15
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.0040555a
push dword [ebp - 4]
call fcn.004092a0
pop ecx
lea eax, [ebp - 0x30]
push 7
push eax
push str._scl_
call fcn.00409da0
add esp, 0xc
cmp eax, edi
jne 0x406a8d
lea eax, [ebp - 0x24]
push 0x10
push eax
mov ecx, esi
call fcn.0041ba15
push 1
push 0x42fa40
mov ecx, esi
call fcn.0041ba15
push 1
push 0x42ff78
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x4302e8
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x42fdc8
mov ecx, esi
call fcn.0041ba15
push ebx
push 0x43095c
mov ecx, esi
call fcn.0041ba15
push 1
push 0x430954
mov ecx, esi
call fcn.0041ba15
push 0x430c14
mov ecx, 0x42ff88
call fcn.0041a733
mov al, byte [0x430c18]
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.0041ba15
push dword [ebp - 0x54]
lea eax, [ebp - 0x320]
mov ecx, esi
push eax
call fcn.0041ba15
lea eax, [ebp - 0x320]
mov ecx, 0x42ff88
push eax
call fcn.0041a733
push dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
call fcn.0040597b
xor edi, edi
lea eax, [ebp - 0x90]
push 7
push eax
mov ecx, esi
call fcn.0041ba15
test eax, eax
jne 0x405c5e
pop ebx
mov ecx, esi
call fcn.0041bb13
lea ecx, [ebp - 0x44]
call fcn.0041a5eb
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x84], vtable.CFileException.0
call fcn.0041a5eb
pop edi
pop esi
leave
ret