Function at 0x40abb0
Capabilities:
Terminate process
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x750
push ebx
push esi
push edi
push 0
call fcn.00409530
push str.Jun_23_2021
push str._nValve_Software___bspzip.exe___s__n
call dword [sym.imp.tier0.dll_Msg]
mov ebx, dword [ebp + 8]
add esp, 0xc
mov edi, dword [ebp + 0xc]
mov esi, 1
cmp ebx, 3
jl 0x40ac00
push str._game
push dword [edi + 4]
call fcn.00437ea7
add esp, 8
mov ecx, 3
test eax, eax
cmove esi, ecx
cmp esi, ebx
jge 0x40be6e
mov eax, dword [edi + esi*4]
inc esi
mov dword [ebp - 4], eax
sub ebx, esi
call dword [sym.imp.tier0.dll_CommandLine_Tier0]
push edi
push dword [ebp + 8]
mov ecx, eax
mov edx, dword [eax]
call dword [edx]
fldz
push 1
push 1
push 1
push 1
push 2
sub esp, 0xc
fstp dword [esp + 8]
fld dword [0x43bc70]
fst dword [esp + 4]
fstp dword [esp]
call fcn.00419e20
push str._extract
push dword [ebp - 4]
call fcn.00437ea7
add esp, 0x28
test eax, eax
jne 0x40ad1d
cmp ebx, 2
jne 0x40ad1d
push eax
push dword [edi + esi*4]
call fcn.0040bf50
push 0x103
lea eax, [ebp - 0x33f]
mov byte [ebp - 0x340], 0
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4]
lea eax, [ebp - 0x340]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x340]
push str..bsp
push eax
call fcn.0041b000
push 0x103
lea eax, [ebp - 0x23b]
mov byte [ebp - 0x23c], 0
push 0
push eax
call fcn.00424040
push 0x104
push dword [edi + esi*4 + 4]
lea eax, [ebp - 0x23c]
push eax
call fcn.0041bf70
add esp, 0x48
lea eax, [ebp - 0x23c]
push 0x104
push str..zip
push eax
call fcn.0041b000
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x340]
push eax
call fcn.00406d40
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str._extractfiles
push dword [ebp - 4]
call fcn.00437ea7
add esp, 8
test eax, eax
jne 0x40af6d
cmp ebx, 2
jne 0x40af6d
push eax
push dword [edi + esi*4]
call fcn.0040bf50
push 0x103
lea eax, [ebp - 0x443]
mov byte [ebp - 0x444], 0
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4]
lea eax, [ebp - 0x444]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x444]
push str..bsp
push eax
call fcn.0041b000
push 0x103
lea eax, [ebp - 0x23b]
mov byte [ebp - 0x23c], 0
push 0
push eax
call fcn.00424040
push 0x104
push dword [edi + esi*4 + 4]
lea eax, [ebp - 0x23c]
push eax
call fcn.0041bf70
add esp, 0x48
lea eax, [ebp - 0x23c]
push 0x104
push eax
call fcn.0041aed0
push 0x43b440
call fcn.004242ee
lea eax, [ebp - 0x444]
push eax
push str.Opening_bsp_file:__s_n
call fcn.004242ee
lea eax, [ebp - 0x444]
push eax
call fcn.00407990
add esp, 0x18
lea ecx, [ebp - 0x34]
push 0
push 0
push 0
call fcn.0041c660
push 0x103
lea eax, [ebp - 0x33f]
mov byte [ebp - 0x340], 0
push 0
push eax
call fcn.00424040
push 0x103
lea eax, [ebp - 0x137]
mov byte [ebp - 0x138], 0
push 0
push eax
call fcn.00424040
add esp, 0x18
mov dword [ebp + 8], 0
lea eax, [ebp + 8]
xor ebx, ebx
push eax
push 0x104
lea eax, [ebp - 0x340]
push eax
push 0xffffffffffffffff
call fcn.00406eb0
push eax
call fcn.00406e90
mov edi, eax
add esp, 0x14
cmp edi, 0xffffffff
je 0x40af62
push dword [ebp + 8]
lea ecx, [ebp - 0x34]
call fcn.0041cbd0
push 0
push 0
lea ecx, [ebp - 0x34]
call fcn.0041d5c0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x340]
push 0
push eax
call fcn.00406eb0
push eax
call fcn.00408da0
push 0x104
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0041bf70
push 0xffffffffffffffff
push 0x104
lea eax, [ebp - 0x340]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0041bed0
lea eax, [ebp - 0x138]
push 0x5c
push eax
call fcn.0041b0f0
lea eax, [ebp - 0x138]
push eax
call fcn.0040c000
lea eax, [ebp - 0x138]
push eax
push str.Writing_file:__s_n
call fcn.004242ee
add esp, 0x40
lea eax, [ebp - 0x138]
push 0x43b3a4
push eax
call fcn.00422fd4
mov esi, eax
add esp, 8
test esi, esi
je 0x40be73
push esi
push 1
push dword [ebp + 8]
push dword [ebp - 0x34]
call fcn.004235d7
push esi
call fcn.00422e99
add esp, 0x14
lea eax, [ebp + 8]
inc ebx
push eax
push 0x104
lea eax, [ebp - 0x340]
push eax
push edi
call fcn.00406eb0
push eax
call fcn.00406e90
mov edi, eax
add esp, 0x14
cmp edi, 0xffffffff
jne 0x40ae73
push ebx
push str._d_files_extracted._n
jmp 0x40b1d4
push str._extractcubemaps
push dword [ebp - 4]
call fcn.00437ea7
add esp, 8
test eax, eax
jne 0x40b1ed
cmp ebx, 2
jne 0x40b1ed
push eax
push dword [edi + esi*4]
call fcn.0040bf50
push 0x103
lea eax, [ebp - 0x33f]
mov byte [ebp - 0x340], 0
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4]
lea eax, [ebp - 0x340]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x340]
push str..bsp
push eax
call fcn.0041b000
push 0x103
lea eax, [ebp - 0x23b]
mov byte [ebp - 0x23c], 0
push 0
push eax
call fcn.00424040
push 0x104
push dword [edi + esi*4 + 4]
lea eax, [ebp - 0x23c]
push eax
call fcn.0041bf70
add esp, 0x48
lea eax, [ebp - 0x23c]
push 0x104
push eax
call fcn.0041aed0
push 0x43b440
call fcn.004242ee
lea eax, [ebp - 0x340]
push eax
push str.Opening_bsp_file:__s_n
call fcn.004242ee
lea eax, [ebp - 0x340]
push eax
call fcn.00407990
add esp, 0x18
lea ecx, [ebp - 0x34]
push 0
push 0
push 0
call fcn.0041c660
push 0x103
lea eax, [ebp - 0x443]
mov byte [ebp - 0x444], 0
push 0
push eax
call fcn.00424040
push 0x103
lea eax, [ebp - 0x137]
mov byte [ebp - 0x138], 0
push 0
push eax
call fcn.00424040
add esp, 0x18
mov dword [ebp + 8], 0
lea eax, [ebp + 8]
xor ebx, ebx
push eax
push 0x104
lea eax, [ebp - 0x444]
push eax
push 0xffffffffffffffff
call fcn.00406eb0
push eax
call fcn.00406e90
mov edi, eax
add esp, 0x14
cmp edi, 0xffffffff
je 0x40b1ce
lea eax, [ebp - 0x444]
push str..vtf
push eax
call fcn.0041bd00
add esp, 8
test eax, eax
je 0x40b1a4
push dword [ebp + 8]
lea ecx, [ebp - 0x34]
call fcn.0041cbd0
push 0
push 0
lea ecx, [ebp - 0x34]
call fcn.0041d5c0
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x444]
push 0
push eax
call fcn.00406eb0
push eax
call fcn.00408da0
push 0x104
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0041bf70
push 0xffffffffffffffff
push 0x104
lea eax, [ebp - 0x444]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0041bed0
lea eax, [ebp - 0x138]
push 0x5c
push eax
call fcn.0041b0f0
lea eax, [ebp - 0x138]
push eax
call fcn.0040c000
lea eax, [ebp - 0x138]
push eax
push str.Writing_vtf_file:__s_n
call fcn.004242ee
add esp, 0x40
lea eax, [ebp - 0x138]
push 0x43b3a4
push eax
call fcn.00422fd4
mov esi, eax
add esp, 8
test esi, esi
je 0x40be73
push esi
push 1
push dword [ebp + 8]
push dword [ebp - 0x34]
call fcn.004235d7
push esi
call fcn.00422e99
add esp, 0x14
inc ebx
lea eax, [ebp + 8]
push eax
push 0x104
lea eax, [ebp - 0x444]
push eax
push edi
call fcn.00406eb0
push eax
call fcn.00406e90
mov edi, eax
add esp, 0x14
cmp edi, 0xffffffff
jne 0x40b0c3
push ebx
push str._d_cubemaps_extracted._n
call fcn.004242ee
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00405f80
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push str._deletecubemaps
push dword [ebp - 4]
call fcn.00437ea7
add esp, 8
test eax, eax
jne 0x40b37e
cmp ebx, 1
jne 0x40b37e
push eax
push dword [edi + esi*4]
call fcn.0040bf50
push 0x103
lea eax, [ebp - 0x137]
mov byte [ebp - 0x138], 0
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4]
lea eax, [ebp - 0x138]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x138]
push str..bsp
push eax
call fcn.0041b000
push 0x43b440
call fcn.004242ee
lea eax, [ebp - 0x138]
push eax
push str.Opening_bsp_file:__s_n
call fcn.004242ee
lea eax, [ebp - 0x138]
push eax
call fcn.00407990
add esp, 0x40
lea ecx, [ebp - 0x34]
push 0
push 0
push 0
call fcn.0041c660
push 0x103
lea eax, [ebp - 0x33f]
mov byte [ebp - 0x340], 0
push 0
push eax
call fcn.00424040
add esp, 0xc
mov dword [ebp + 8], 0
lea eax, [ebp + 8]
xor edi, edi
push eax
push 0x104
lea eax, [ebp - 0x340]
push eax
push 0xffffffffffffffff
call fcn.00406eb0
push eax
call fcn.00406e90
mov esi, eax
add esp, 0x14
cmp esi, 0xffffffff
je 0x40b339
lea eax, [ebp - 0x340]
push str..vtf
push eax
call fcn.0041bd00
add esp, 8
test eax, eax
je 0x40b313
lea eax, [ebp - 0x340]
push eax
call fcn.00406eb0
push eax
call fcn.00408f20
add esp, 8
inc edi
or esi, 0xffffffff
lea eax, [ebp + 8]
push eax
push 0x104
lea eax, [ebp - 0x340]
push eax
push esi
call fcn.00406eb0
push eax
call fcn.00406e90
mov esi, eax
add esp, 0x14
cmp esi, 0xffffffff
jne 0x40b2e2
push edi
push str._d_cubemaps_deleted._n
call fcn.004242ee
add esp, 8
test edi, edi
je 0x40b36d
lea eax, [ebp - 0x138]
push eax
push str.Updating_bsp_file:__s_n
call fcn.004242ee
lea eax, [ebp - 0x138]
push 0
push eax
call fcn.0040a180
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.00405f80
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push str._addfiles
push dword [ebp - 4]
call fcn.00437ea7
add esp, 8
test eax, eax
jne 0x40b65d
cmp ebx, 4
jne 0x40b65d
push eax
push dword [edi + esi*4]
call fcn.0040bf50
push 0x103
lea eax, [ebp - 0x33f]
mov byte [ebp - 0x340], 0
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4]
lea eax, [ebp - 0x340]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x340]
push str..bsp
push eax
call fcn.0041b000
push 0x103
lea eax, [ebp - 0x64b]
mov byte [ebp - 0x64c], 0
push 0
push eax
call fcn.00424040
push 0x104
push dword [edi + esi*4 + 4]
lea eax, [ebp - 0x64c]
push eax
call fcn.0041bf70
add esp, 0x48
mov byte [ebp - 0x750], 0
lea eax, [ebp - 0x74f]
push 0x103
push 0
push eax
call fcn.00424040
push 0x104
push dword [edi + esi*4 + 8]
lea eax, [ebp - 0x750]
push eax
call fcn.0041bf70
push 0x103
lea eax, [ebp - 0x23b]
mov byte [ebp - 0x23c], 0
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4 + 0xc]
lea eax, [ebp - 0x23c]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x23c]
push str..bsp
push eax
call fcn.0041b000
add esp, 0x40
mov byte [ebp - 0x444], 0
lea eax, [ebp - 0x443]
push 0x103
push 0
push eax
call fcn.00424040
lea eax, [ebp - 0x750]
push 0x43bb68
push eax
call fcn.00422fd4
mov esi, eax
add esp, 0x14
test esi, esi
je 0x40baeb
lea eax, [ebp - 0x340]
push eax
push str.Opening_bsp_file:__s_n
call fcn.004242ee
lea eax, [ebp - 0x340]
push eax
call fcn.00407990
push esi
call fcn.00424174
add esp, 0x10
test eax, eax
jne 0x40b624
nop
push esi
lea eax, [ebp - 0x444]
push 0x104
push eax
call fcn.0042419a
add esp, 0xc
test eax, eax
je 0x40b606
cmp byte [ebp - 0x444], 0
je 0x40b54a
lea ecx, [ebp - 0x444]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b530
sub ecx, edx
cmp byte [ebp + ecx - 0x445], 0xa
jne 0x40b54a
mov byte [ebp + ecx - 0x445], al
push 0x103
lea eax, [ebp - 0x547]
mov byte [ebp - 0x548], 0
push 0
push eax
call fcn.00424040
push 0x103
lea eax, [ebp - 0x137]
mov byte [ebp - 0x138], 0
push 0
push eax
call fcn.00424040
push 0x104
lea eax, [ebp - 0x548]
push eax
lea eax, [ebp - 0x444]
push eax
call fcn.0040a9e0
push 0x104
lea eax, [ebp - 0x64c]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0041bf70
push 0xffffffffffffffff
push 0x104
lea eax, [ebp - 0x548]
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.0041bed0
add esp, 0x40
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x444]
push eax
push str.Adding_file:__s_as__s_n
call fcn.004242ee
add esp, 0xc
lea eax, [ebp - 0x444]
push 0
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.00406eb0
push eax
call fcn.00406120
add esp, 0x10
jmp 0x40b613
push esi
call fcn.00424174
add esp, 4
test eax, eax
je 0x40b640
push esi
call fcn.00424174
add esp, 4
test eax, eax
je 0x40b500
lea eax, [ebp - 0x23c]
push eax
push str.Writing_new_bsp_file:__s_n
call fcn.004242ee
lea eax, [ebp - 0x23c]
jmp 0x40bada
push str.Error:_Missing_full_path_names_n
call fcn.004242ee
push esi
call fcn.00422e99
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str._dir
push dword [ebp - 4]
call fcn.00437ea7
add esp, 8
test eax, eax
jne 0x40b6ea
cmp ebx, 1
jne 0x40b6ea
push eax
push dword [edi + esi*4]
call fcn.0040bf50
push 0x103
lea eax, [ebp - 0x23b]
mov byte [ebp - 0x23c], 0
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4]
lea eax, [ebp - 0x23c]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x23c]
push str..bsp
push eax
call fcn.0041b000
lea eax, [ebp - 0x23c]
push eax
call fcn.00407990
add esp, 0x34
call fcn.00408d20
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push str._addfile
push dword [ebp - 4]
call fcn.00437ea7
add esp, 8
test eax, eax
jne 0x40b849
cmp ebx, 4
jne 0x40b849
push eax
push dword [edi + esi*4]
call fcn.0040bf50
push 0x103
lea eax, [ebp - 0x23b]
mov byte [ebp - 0x23c], 0
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4]
lea eax, [ebp - 0x23c]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x23c]
push str..bsp
push eax
call fcn.0041b000
push 0x103
lea eax, [ebp - 0x64b]
mov byte [ebp - 0x64c], 0
push 0
push eax
call fcn.00424040
push 0x104
push dword [edi + esi*4 + 4]
lea eax, [ebp - 0x64c]
push eax
call fcn.0041bf70
add esp, 0x48
mov byte [ebp - 0x548], 0
lea eax, [ebp - 0x547]
push 0x103
push 0
push eax
call fcn.00424040
push 0x104
push dword [edi + esi*4 + 8]
lea eax, [ebp - 0x548]
push eax
call fcn.0041bf70
push 0x103
lea eax, [ebp - 0x33f]
mov byte [ebp - 0x340], 0
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4 + 0xc]
lea eax, [ebp - 0x340]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x340]
push str..bsp
push eax
call fcn.0041b000
add esp, 0x40
lea eax, [ebp - 0x23c]
push eax
call fcn.00407990
add esp, 4
lea eax, [ebp - 0x548]
push 0
push eax
lea eax, [ebp - 0x64c]
push eax
call fcn.00406eb0
push eax
call fcn.00406120
lea eax, [ebp - 0x340]
push 0
push eax
call fcn.0040a180
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str._addlist
push dword [ebp - 4]
call fcn.00437ea7
add esp, 8
test eax, eax
jne 0x40baf4
cmp ebx, 3
jne 0x40baf4
push eax
push dword [edi + esi*4]
call fcn.0040bf50
push 0x103
lea eax, [ebp - 0x23b]
mov byte [ebp - 0x23c], 0
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4]
lea eax, [ebp - 0x23c]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x23c]
push str..bsp
push eax
call fcn.0041b000
push 0x103
lea eax, [ebp - 0x547]
mov byte [ebp - 0x548], 0
push 0
push eax
call fcn.00424040
push 0x104
push dword [edi + esi*4 + 4]
lea eax, [ebp - 0x548]
push eax
call fcn.0041bf70
add esp, 0x48
mov byte [ebp - 0x340], 0
lea eax, [ebp - 0x33f]
push 0x103
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4 + 8]
lea eax, [ebp - 0x340]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x340]
push str..bsp
push eax
call fcn.0041b000
push 0x103
lea eax, [ebp - 0x137]
mov byte [ebp - 0x138], 0
push 0
push eax
call fcn.00424040
push 0x103
lea eax, [ebp - 0x443]
mov byte [ebp - 0x444], 0
push 0
push eax
call fcn.00424040
add esp, 0x40
lea eax, [ebp - 0x548]
push 0x43bb68
push eax
call fcn.00422fd4
mov esi, eax
add esp, 8
test esi, esi
je 0x40baeb
lea eax, [ebp - 0x23c]
push eax
push str.Opening_bsp_file:__s_n
call fcn.004242ee
lea eax, [ebp - 0x23c]
push eax
call fcn.00407990
push esi
call fcn.00424174
add esp, 0x10
test eax, eax
jne 0x40bac3
jmp 0x40b9c0
push esi
lea eax, [ebp - 0x138]
mov byte [ebp - 0x138], 0
push 0x104
push eax
mov byte [ebp - 0x444], 0
call fcn.0042419a
add esp, 0xc
test eax, eax
je 0x40ba8b
push esi
lea eax, [ebp - 0x444]
push 0x104
push eax
call fcn.0042419a
add esp, 0xc
test eax, eax
je 0x40ba8b
lea ecx, [ebp - 0x138]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ba11
sub ecx, edx
lea edx, [ebp - 0x444]
lea edi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x40ba23
sub edx, edi
test ecx, ecx
jle 0x40ba41
cmp byte [ebp + ecx - 0x139], 0xa
jne 0x40ba41
mov byte [ebp + ecx - 0x139], al
test edx, edx
jle 0x40ba57
cmp byte [ebp + edx - 0x445], 0xa
jne 0x40ba57
mov byte [ebp + edx - 0x445], 0
lea eax, [ebp - 0x444]
push eax
push str.Adding_file:__s_n
call fcn.004242ee
add esp, 8
lea eax, [ebp - 0x444]
push 0
push eax
lea eax, [ebp - 0x138]
push eax
call fcn.00406eb0
push eax
call fcn.00406120
add esp, 0x10
jmp 0x40bab2
push esi
call fcn.00424174
add esp, 4
test eax, eax
je 0x40bd9d
cmp byte [ebp - 0x138], 0
je 0x40bab2
cmp byte [ebp - 0x444], 0
je 0x40bd9d
push esi
call fcn.00424174
add esp, 4
test eax, eax
je 0x40b9c0
lea eax, [ebp - 0x340]
push eax
push str.Writing_new_bsp_file:__s_n
call fcn.004242ee
lea eax, [ebp - 0x340]
push 0
push eax
call fcn.0040a180
push esi
call fcn.00422e99
add esp, 0x14
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push str._addorupdatelist
push dword [ebp - 4]
call fcn.00437ea7
add esp, 8
test eax, eax
jne 0x40bda7
cmp ebx, 3
jne 0x40bda7
push eax
push dword [edi + esi*4]
call fcn.0040bf50
push 0x103
lea eax, [ebp - 0x23b]
mov byte [ebp - 0x23c], 0
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4]
lea eax, [ebp - 0x23c]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x23c]
push str..bsp
push eax
call fcn.0041b000
push 0x103
lea eax, [ebp - 0x547]
mov byte [ebp - 0x548], 0
push 0
push eax
call fcn.00424040
push 0x104
push dword [edi + esi*4 + 4]
lea eax, [ebp - 0x548]
push eax
call fcn.0041bf70
add esp, 0x48
mov byte [ebp - 0x340], 0
lea eax, [ebp - 0x33f]
push 0x103
push 0
push eax
call fcn.00424040
push 0
push dword [edi + esi*4 + 8]
lea eax, [ebp - 0x340]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x340]
push str..bsp
push eax
call fcn.0041b000
push 0x103
lea eax, [ebp - 0x443]
mov byte [ebp - 0x444], 0
push 0
push eax
call fcn.00424040
push 0x103
lea eax, [ebp - 0x137]
mov byte [ebp - 0x138], 0
push 0
push eax
call fcn.00424040
add esp, 0x40
lea eax, [ebp - 0x548]
push 0x43bb68
push eax
call fcn.00422fd4
mov esi, eax
add esp, 8
test esi, esi
je 0x40baeb
lea eax, [ebp - 0x23c]
push eax
push str.Opening_bsp_file:__s_n
call fcn.004242ee
lea eax, [ebp - 0x23c]
push eax
call fcn.00407990
push esi
call fcn.00424174
add esp, 0x10
test eax, eax
jne 0x40bac3
push esi
lea eax, [ebp - 0x444]
mov byte [ebp - 0x444], 0
push 0x104
push eax
mov byte [ebp - 0x138], 0
call fcn.0042419a
add esp, 0xc
test eax, eax
je 0x40bd68
push esi
lea eax, [ebp - 0x138]
push 0x104
push eax
call fcn.0042419a
add esp, 0xc
test eax, eax
je 0x40bd68
lea ecx, [ebp - 0x444]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bcb1
sub ecx, edx
lea edx, [ebp - 0x138]
lea edi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x40bcc3
sub edx, edi
test ecx, ecx
jle 0x40bce1
cmp byte [ebp + ecx - 0x445], 0xa
jne 0x40bce1
mov byte [ebp + ecx - 0x445], al
test edx, edx
jle 0x40bcf7
cmp byte [ebp + edx - 0x139], 0xa
jne 0x40bcf7
mov byte [ebp + edx - 0x139], 0
lea eax, [ebp - 0x444]
push eax
call fcn.00406eb0
push eax
call fcn.00406e70
mov bl, al
mov ecx, str.Updating
lea eax, [ebp - 0x138]
test bl, bl
push eax
mov eax, str.Adding
cmove ecx, eax
push ecx
push str._s_file:__s_n
call fcn.004242ee
add esp, 0x14
test bl, bl
je 0x40bd48
lea eax, [ebp - 0x444]
push eax
call fcn.00406eb0
push eax
call fcn.00408f20
add esp, 8
push 0
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x444]
push eax
call fcn.00406eb0
push eax
call fcn.00406120
add esp, 0x10
jmp 0x40bd87
push esi
call fcn.00424174
add esp, 4
test eax, eax
je 0x40bd9d
cmp byte [ebp - 0x444], 0
je 0x40bd87
cmp byte [ebp - 0x138], 0
je 0x40bd9d
push esi
call fcn.00424174
add esp, 4
test eax, eax
je 0x40bc60
jmp 0x40bac3
push str.Error:_Missing_paired_relative_full_path_names_n
jmp 0x40b645
push str._repack
push dword [ebp - 4]
call fcn.00437ea7
add esp, 8
test eax, eax
jne 0x40be6e
cmp ebx, 1
je 0x40bdcd
cmp ebx, 2
jne 0x40be6e
mov eax, dword [edi + esi*4]
mov byte [ebp - 4], 0
mov dword [ebp + 8], eax
cmp ebx, 2
jne 0x40bdfd
push str._compress
push eax
call fcn.00437ea7
add esp, 8
test eax, eax
jne 0x40be6e
mov eax, dword [edi + esi*4 + 4]
mov dword [ebp + 8], eax
mov byte [ebp - 4], 1
push 0
push eax
call fcn.0040bf50
push 0x103
lea eax, [ebp - 0x23b]
mov byte [ebp - 0x23c], 0
push 0
push eax
call fcn.00424040
push 0
push dword [ebp + 8]
lea eax, [ebp - 0x23c]
push 0x104
push eax
call fcn.0041b1a0
push 0x104
lea eax, [ebp - 0x23c]
push str..bsp
push eax
call fcn.0041b000
push dword [ebp - 4]
lea eax, [ebp - 0x23c]
push eax
call fcn.0040a880
add esp, 0x38
movzx eax, al
neg eax
sbb eax, eax
pop edi
neg eax
pop esi
dec eax
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040aa30
lea eax, [ebp - 0x138]
push eax
push str.Error:_Could_not_write__s_n
call fcn.004242ee
add esp, 8
push 0xffffffffffffffff
call fcn.0042473c
int3