Function at 0x45c9a0
Capabilities:
Inspect section memory permissions
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c6c05
mov eax, dword fs:[0]
push eax
sub esp, 0x1b4
mov eax, dword [0x4e400c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1c], ecx
xor esi, esi
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x6c], esi
push 1
mov dword [ebp - 0x74], esi
push str.data_pangya_gb.iff
mov dword [ebp - 0x2c], esi
call dword [sym.imp.zip.dll_zip_open]
add esp, 0xc
mov dword [ebp - 0x70], eax
test eax, eax
jne 0x45cbdf
push 0x1c
call fcn.004b544c
mov ebx, eax
add esp, 4
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x118]
mov edx, dword [ebp - 0x2c]
call fcn.00403dc0
mov edi, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x100]
push str.data_pangya_gb.iff
mov dword [ebp - 0x68], 1
call fcn.004021f0
mov esi, eax
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x178]
push str.saveAchievement
mov dword [ebp - 0x68], 3
call fcn.004021f0
mov dword [ebp - 4], 3
mov edx, str._iff::writer::
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x68], 7
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 4
mov edx, eax
push str.__Error__nao_conseguiu_abrir_o_arquivo_zip_
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x68], 0xf
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 5
mov edx, eax
push esi
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x68], 0x1f
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 6
mov edx, eax
push str._ErrCode:
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x68], 0x3f
call fcn.0043d5b0
mov dword [ebp - 4], 7
sub esp, 0x14
mov ecx, esp
mov dword [ebp - 0x20], esp
mov edx, eax
mov dword [ebp - 0x68], 0x7f
push edi
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 8
push 2
mov byte [ebp - 4], 7
mov ecx, ebx
call fcn.00443ab0
mov esi, eax
mov dword [ebp - 4], 0xf
call fcn.0043d6c0
push esi
mov ecx, eax
call fcn.0043d660
mov dword [ebp - 4], 0xe
mov esi, 0x7f
mov dword [ebp - 0x68], esi
lea ecx, [ebp - 0xd0]
and esi, 0xffffffbf
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xd
and esi, 0xffffffdf
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xc
and esi, 0xffffffef
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xb
and esi, 0xfffffff7
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xa
and esi, 0xfffffffb
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 9
and esi, 0xfffffffd
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
and esi, 0xfffffffe
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x68], esi
call fcn.00401770
jmp 0x45e4b1
push 8
push eax
call dword [sym.imp.zip.dll_zip_get_num_entries]
mov ebx, eax
mov edi, edx
push 0x38
lea eax, [ebp - 0x64]
mov dword [ebp - 0x78], ebx
push 0
push eax
mov dword [ebp - 0x20], edi
call sub.VCRUNTIME140.dll_memset
add esp, 0x14
lea eax, [ebp - 0x64]
push eax
call dword [sym.imp.zip.dll_zip_stat_init]
add esp, 4
xorps xmm0, xmm0
movlpd qword [ebp - 0x80], xmm0
test edi, edi
jb 0x45ccaa
ja 0x45cc29
test ebx, ebx
je 0x45ccaa
mov edi, dword [ebp - 0x7c]
mov ebx, dword [ebp - 0x80]
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0xb8], ebx
nop dword [eax + eax]
lea eax, [ebp - 0x64]
push eax
push 8
push edi
push ebx
push dword [ebp - 0x70]
call dword [sym.imp.zip.dll_zip_stat_index]
mov eax, dword [ebp - 0x5c]
add esp, 0x14
mov ecx, str.Achievement.iff
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45cc80
test dl, dl
je 0x45cc7c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45cc80
add eax, 2
add ecx, 2
test dl, dl
jne 0x45cc60
xor eax, eax
jmp 0x45cc85
sbb eax, eax
or eax, 1
test eax, eax
je 0x45ccbc
add ebx, 1
mov dword [ebp - 0xb8], ebx
adc edi, esi
mov dword [ebp - 0xb4], edi
cmp edi, dword [ebp - 0x20]
jb 0x45cc40
mov eax, dword [ebp - 0x78]
ja 0x45ccbf
cmp ebx, eax
jb 0x45cc40
jmp 0x45ccbf
mov edi, dword [ebp - 0x7c]
mov ebx, dword [ebp - 0x80]
mov dword [ebp - 0xb4], edi
mov dword [ebp - 0xb8], ebx
mov eax, dword [ebp - 0x78]
xorps xmm0, xmm0
movlpd qword [ebp - 0x18], xmm0
cmp edi, dword [ebp - 0x20]
ja 0x45d70f
jb 0x45ccda
cmp ebx, eax
jae 0x45d70f
push 8
push edi
push ebx
push dword [ebp - 0x70]
call dword [sym.imp.zip.dll_zip_fopen_index]
add esp, 0x10
mov dword [ebp - 0x78], eax
test eax, eax
je 0x45d513
mov edx, dword [ebp - 0x4c]
xor ecx, ecx
or ecx, dword [ebp - 0x50]
mov dword [ebp - 0x7c], ecx
ja 0x45cdf9
cmp edx, 8
jae 0x45cdf9
push eax
call dword [sym.imp.zip.dll_zip_fclose]
add esp, 4
push dword [ebp - 0x70]
call dword [sym.imp.zip.dll_zip_close]
add esp, 4
push 0x1c
call fcn.004b544c
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0x42
lea ecx, [ebp - 0x100]
push str.saveAchievement
call fcn.004021f0
mov byte [ebp - 4], 0x43
mov edx, str._iff_writer::
push eax
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x68], 0x20000000
call fcn.0043d500
mov dword [ebp - 4], 0x44
sub esp, 0x14
mov ecx, esp
mov dword [ebp - 0x20], esp
mov edx, eax
mov dword [ebp - 0x68], 0x60000000
push str.__Error__nao_e_um_arquivo_iff_valido.
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x45
push 2
mov byte [ebp - 4], 0x44
mov ecx, esi
call fcn.00443ab0
mov esi, eax
mov dword [ebp - 4], 0x47
call fcn.0043d6c0
push esi
mov ecx, eax
call fcn.0043d660
mov dword [ebp - 4], 0x46
mov esi, 0x60000000
mov dword [ebp - 0x68], esi
lea ecx, [ebp - 0x118]
and esi, 0xbfffffff
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
and esi, 0xdfffffff
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x68], esi
call fcn.00401770
jmp 0x45e4b1
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
push 8
push edi
push ebx
push dword [ebp - 0x70]
call dword [sym.imp.zip.dll_zip_file_get_external_attributes]
add esp, 0x18
test eax, eax
jns 0x45d020
push 0x1c
call fcn.004b544c
mov ebx, eax
add esp, 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 4], 0x10
mov esi, dword [ebp - 0x70]
push esi
call dword [sym.imp.zip.dll_zip_strerror]
add esp, 4
lea ecx, [ebp - 0x98]
push eax
call fcn.004021f0
mov edi, eax
mov byte [ebp - 4], 0x11
push esi
mov dword [ebp - 0x68], 0x80
call dword [sym.imp.zip.dll_zip_get_error]
add esp, 4
lea ecx, [ebp - 0xb0]
mov edx, dword [eax]
call fcn.00403dc0
mov esi, eax
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0xe8]
push str.saveAchievement
mov dword [ebp - 0x68], 0x180
call fcn.004021f0
mov dword [ebp - 4], 0x13
mov edx, str._iff_writer::
push eax
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x68], 0x380
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x14
mov edx, eax
push str.__Error__zip_file_get_external_attributes__ErrCode:
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x68], 0x780
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x15
mov edx, eax
push esi
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x68], 0xf80
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x16
mov edx, eax
push str._ErrMsg:
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x68], 0x1f80
call fcn.0043d5b0
mov dword [ebp - 4], 0x17
sub esp, 0x14
mov ecx, esp
mov dword [ebp - 0x7c], esp
mov edx, eax
mov dword [ebp - 0x68], 0x3f80
push edi
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x18
push 2
mov byte [ebp - 4], 0x17
mov ecx, ebx
call fcn.00443ab0
mov esi, eax
mov dword [ebp - 4], 0x1f
call fcn.0043d6c0
push esi
mov ecx, eax
call fcn.0043d660
mov dword [ebp - 4], 0x1e
mov esi, 0x3f80
mov dword [ebp - 0x68], esi
lea ecx, [ebp - 0x118]
and esi, 0xffffdfff
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x1d
and esi, 0xffffefff
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x1c
and esi, 0xfffff7ff
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x1b
and esi, 0xfffffbff
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x1a
and esi, 0xfffffdff
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x19
and esi, 0xfffffeff
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
and esi, 0xffffff7f
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x68], esi
call fcn.00401770
push 0x1c
call fcn.004b544c
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 0x20
lea ecx, [ebp - 0x148]
mov edx, dword [ebp - 0x24]
call fcn.004019e0
mov ebx, eax
mov byte [ebp - 4], 0x21
or esi, 0x4000
mov dword [ebp - 0x68], esi
lea ecx, [ebp - 0x130]
movzx edx, byte [ebp - 0x28]
call fcn.00403dc0
mov edi, eax
mov dword [ebp - 4], 0x22
or esi, 0x8000
push str.Achievement.iff
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x68], esi
call fcn.004021f0
mov esi, eax
mov dword [ebp - 4], 0x23
lea ecx, [ebp - 0x98]
or dword [ebp - 0x68], 0x10000
push str.saveAchievement
call fcn.004021f0
mov dword [ebp - 4], 0x24
mov edx, str._iff_writer::
or dword [ebp - 0x68], 0x20000
lea ecx, [ebp - 0xb0]
push eax
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x25
mov edx, eax
or dword [ebp - 0x68], 0x40000
lea ecx, [ebp - 0xe8]
push str.__Log_
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x26
mov edx, eax
or dword [ebp - 0x68], 0x80000
lea ecx, [ebp - 0xd0]
push esi
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x27
mov edx, eax
mov esi, dword [ebp - 0x68]
lea ecx, [ebp - 0x178]
or esi, 0x100000
push str._OPERATION_SYSTEM:
mov dword [ebp - 0x68], esi
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x28
or esi, 0x200000
push edi
mov edx, eax
mov dword [ebp - 0x68], esi
lea ecx, [ebp - 0x100]
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x29
or esi, 0x400000
mov dword [ebp - 0x68], esi
mov edx, eax
push str._ATTR_FILE:
lea ecx, [ebp - 0x118]
call fcn.0043d5b0
mov dword [ebp - 4], 0x2a
sub esp, 0x14
or esi, 0x800000
mov ecx, esp
mov dword [ebp - 0x68], esi
mov edx, eax
mov dword [ebp - 0x7c], esp
push ebx
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x2b
push 2
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x20]
call fcn.00443ab0
mov esi, eax
mov dword [ebp - 4], 0x35
call fcn.0043d6c0
push esi
mov ecx, eax
call fcn.0043d660
mov dword [ebp - 4], 0x34
mov ebx, dword [ebp - 0x68]
test ebx, 0x800000
je 0x45d1e5
and ebx, 0xff7fffff
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0x33
test ebx, 0x400000
je 0x45d208
and ebx, 0xffbfffff
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0x32
test ebx, 0x200000
je 0x45d22b
and ebx, 0xffdfffff
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0x31
test ebx, 0x100000
je 0x45d24e
and ebx, 0xffefffff
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0x30
test ebx, 0x80000
je 0x45d271
and ebx, 0xfff7ffff
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0x2f
test ebx, 0x40000
je 0x45d294
and ebx, 0xfffbffff
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0x2e
test ebx, 0x20000
je 0x45d2b7
and ebx, 0xfffdffff
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0x2d
test ebx, 0x10000
je 0x45d2da
and ebx, 0xfffeffff
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0x2c
test ebx, 0x8000
je 0x45d2fd
and ebx, 0xffff7fff
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
test ebx, 0x4000
je 0x45d320
and ebx, 0xffffbfff
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov esi, dword [ebp - 0x78]
lea eax, [ebp - 0x18]
push 0
push 8
push eax
push esi
call dword [sym.imp.zip.dll_zip_fread]
push esi
call dword [sym.imp.zip.dll_zip_fclose]
add esp, 0x14
cmp dword [ebp - 0x14], 0xd
jne 0x45d363
movzx eax, word [ebp - 0x18]
xor edx, edx
or edx, dword [ebp - 0x50]
xor esi, esi
imul eax, eax, 0x5e8
add eax, 8
cmp eax, dword [ebp - 0x4c]
jne 0x45d363
cmp esi, edx
je 0x45d945
push 0x1c
call fcn.004b544c
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov dword [ebp - 4], 0x36
lea ecx, [ebp - 0x100]
push str.Achievement.iff
call fcn.004021f0
mov esi, eax
mov byte [ebp - 4], 0x37
or ebx, 0x1000000
push str.saveAchievement
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x68], ebx
call fcn.004021f0
mov dword [ebp - 4], 0x38
or ebx, 0x2000000
push eax
mov edx, str._iff_writer::
mov dword [ebp - 0x68], ebx
lea ecx, [ebp - 0x160]
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x39
or ebx, 0x4000000
push str.__Error_
mov edx, eax
mov dword [ebp - 0x68], ebx
lea ecx, [ebp - 0x130]
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x3a
or ebx, 0x8000000
push esi
mov edx, eax
mov dword [ebp - 0x68], ebx
lea ecx, [ebp - 0x148]
call fcn.00402700
mov dword [ebp - 4], 0x3b
sub esp, 0x14
or ebx, 0x10000000
mov ecx, esp
mov dword [ebp - 0x68], ebx
mov edx, eax
mov dword [ebp - 0x1c], esp
push str._version_ou_file_count_element_size_esta_errado.
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x3c
push 2
mov byte [ebp - 4], 0x3b
mov ecx, edi
call fcn.00443ab0
mov esi, eax
mov dword [ebp - 4], 0x41
call fcn.0043d6c0
push esi
mov ecx, eax
call fcn.0043d660
mov dword [ebp - 4], 0x40
test ebx, 0x10000000
je 0x45d483
and ebx, 0xefffffff
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0x3f
test ebx, 0x8000000
je 0x45d4a6
and ebx, 0xf7ffffff
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0x3e
test ebx, 0x4000000
je 0x45d4c9
and ebx, 0xfbffffff
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0x3d
test ebx, 0x2000000
je 0x45d4ec
and ebx, 0xfdffffff
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x68], ebx
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
test ebx, 0x1000000
je 0x45e4a5
and ebx, 0xfeffffff
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x68], ebx
jmp 0x45e4a0
push 0x1c
call fcn.004b544c
mov ebx, eax
add esp, 4
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 4], 0x48
mov esi, dword [ebp - 0x70]
push esi
call dword [sym.imp.zip.dll_zip_strerror]
add esp, 4
lea ecx, [ebp - 0xd0]
push eax
call fcn.004021f0
mov edi, eax
mov byte [ebp - 4], 0x49
push esi
mov dword [ebp - 0x68], 0x80000000
call dword [sym.imp.zip.dll_zip_get_error]
add esp, 4
lea ecx, [ebp - 0x178]
mov edx, dword [eax]
call fcn.00403dc0
mov esi, eax
mov dword [ebp - 4], 0x4a
lea ecx, [ebp - 0x100]
push str.saveAchievement
mov dword [ebp - 0x6c], 1
call fcn.004021f0
mov dword [ebp - 4], 0x4b
mov edx, str._iff_writer::
push eax
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x6c], 3
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x4c
mov edx, eax
push str.__Error__nao_conseguiu_abrir_zip_fopen_index._ErrCode:
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x6c], 7
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x4d
mov edx, eax
push esi
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x6c], 0xf
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x4e
mov edx, eax
push str._ErrMsg:
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x6c], 0x1f
call fcn.0043d5b0
mov dword [ebp - 4], 0x4f
sub esp, 0x14
mov ecx, esp
mov dword [ebp - 0x1c], esp
mov edx, eax
mov dword [ebp - 0x6c], 0x3f
push edi
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x50
push 2
mov byte [ebp - 4], 0x4f
mov ecx, ebx
call fcn.00443ab0
mov esi, eax
mov dword [ebp - 4], 0x57
call fcn.0043d6c0
push esi
mov ecx, eax
call fcn.0043d660
mov dword [ebp - 4], 0x56
mov esi, 0x3f
mov dword [ebp - 0x6c], esi
lea ecx, [ebp - 0x148]
and esi, 0xffffffdf
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0x55
and esi, 0xffffffef
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0x54
and esi, 0xfffffff7
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0x53
and esi, 0xfffffffb
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0x52
and esi, 0xfffffffd
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0x51
and esi, 0xfffffffe
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
mov eax, 0x80000000
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0xd0]
and eax, 0x7fffffff
mov dword [ebp - 0x68], eax
jmp 0x45e4a0
push 0x1c
call fcn.004b544c
mov esi, eax
add esp, 4
mov dword [ebp - 0x7c], esi
mov dword [ebp - 4], 0x58
lea ecx, [ebp - 0xb0]
push 0xf
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
push str.Achievement.iff
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
call fcn.00402310
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x98]
push 0xf
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
push str.saveAchievement
mov dword [ebp - 0x6c], 0x40
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
call fcn.00402310
mov dword [ebp - 4], 0x5a
lea eax, [ebp - 0x98]
push eax
mov edx, str._iff_writer::
mov dword [ebp - 0x6c], 0xc0
lea ecx, [ebp - 0x160]
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x5b
mov edx, eax
push str.__Log__nao_tinha_o_arquivo
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x6c], 0x1c0
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x5c
lea ecx, [ebp - 0xb0]
push ecx
mov edx, eax
mov dword [ebp - 0x6c], 0x3c0
lea ecx, [ebp - 0x148]
call fcn.00402700
mov dword [ebp - 4], 0x5d
sub esp, 0x14
mov ecx, esp
mov dword [ebp - 0x20], esp
mov edx, eax
mov dword [ebp - 0x6c], 0x7c0
push str.__cria_um_novo.
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x5e
push 2
mov byte [ebp - 4], 0x5d
mov ecx, esi
call fcn.00443ab0
mov esi, eax
mov dword [ebp - 4], 0x63
call fcn.0043d6c0
mov edi, eax
mov dword [ebp - 0x20], esi
lea esi, [edi + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x20]
mov ecx, edi
push eax
call fcn.00443030
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [edi + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_WakeConditionVariable]
mov dword [ebp - 4], 0x62
mov ebx, 0x7c0
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0x148]
and ebx, 0xfffffbff
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x61
and ebx, 0xfffffdff
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x60
and ebx, 0xfffffeff
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x5f
and ebx, 0xffffff7f
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
and ebx, 0xffffffbf
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 0x14], 0xd
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x24], 6
jmp 0x45d948
mov ebx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x1c]
mov ax, word [edi + 0x24]
mov word [ebp - 0x18], ax
imul eax, dword [edi + 0x24], 0x5e8
add eax, 8
push eax
call fcn.004b54b2
mov edx, dword [ebp - 0x14]
mov esi, eax
mov ecx, dword [ebp - 0x18]
add esp, 4
mov dword [ebp - 0x1c], esi
mov eax, 8
mov dword [esi], ecx
mov dword [esi + 4], edx
mov edx, dword [edi + 0x20]
mov edx, dword [edx]
cmp byte [edx + 0xd], 0
jne 0x45d9f9
lea ebx, [esi + 8]
nop dword [eax]
add eax, 0x5e8
lea esi, [edx + 0x14]
mov edi, ebx
mov dword [ebp - 0x20], eax
mov ecx, 0x17a
add ebx, 0x5e8
rep movsd dword es:[edi], dword [esi]
mov eax, dword [edx + 8]
cmp byte [eax + 0xd], 0
je 0x45d9d4
mov eax, dword [edx + 4]
cmp byte [eax + 0xd], 0
jne 0x45d9d0
nop dword [eax]
cmp edx, dword [eax + 8]
jne 0x45d9d0
mov edx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x45d9c0
mov edx, eax
jmp 0x45d9ea
mov edx, eax
mov eax, dword [edx]
cmp byte [eax + 0xd], 0
jne 0x45d9ea
nop
mov edx, eax
mov eax, dword [edx]
cmp byte [eax + 0xd], 0
je 0x45d9e0
cmp byte [edx + 0xd], 0
mov eax, dword [ebp - 0x20]
je 0x45d990
mov ebx, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x1c]
push 0
push 0
push eax
push esi
mov esi, dword [ebp - 0x70]
push esi
call dword [sym.imp.zip.dll_zip_source_buffer]
add esp, 0x14
mov dword [ebp - 0x20], eax
test eax, eax
je 0x45dc8d
push 0x2008
push eax
push str.Achievement.iff
push esi
call dword [sym.imp.zip.dll_zip_file_add]
push 0x1c
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], edx
call fcn.004b544c
mov esi, eax
add esp, 0x14
mov dword [ebp - 0x7c], esi
mov dword [ebp - 4], 0x80
lea ecx, [ebp - 0x98]
push 0xf
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
push str.Achievement.iff
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
call fcn.00402310
mov byte [ebp - 4], 0x81
or ebx, 0x1000000
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0xb0]
push 0xf
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
push str.saveAchievement
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
call fcn.00402310
mov dword [ebp - 4], 0x82
lea eax, [ebp - 0xb0]
or ebx, 0x2000000
lea ecx, [ebp - 0x160]
push eax
mov edx, str._iff_writer::
mov dword [ebp - 0x6c], ebx
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x83
or ebx, 0x4000000
push str.__Log__salvo_o_arquivo_source
mov edx, eax
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0x130]
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x84
lea ecx, [ebp - 0x98]
push ecx
or ebx, 0x8000000
lea ecx, [ebp - 0x148]
mov edx, eax
mov dword [ebp - 0x6c], ebx
call fcn.00402700
mov dword [ebp - 4], 0x85
sub esp, 0x14
or ebx, 0x10000000
mov ecx, esp
mov dword [ebp - 0x6c], ebx
mov edx, eax
mov dword [ebp - 0x1c], esp
push str._com_sucesso
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x86
push 2
mov byte [ebp - 4], 0x85
mov ecx, esi
call fcn.00443ab0
mov esi, eax
mov dword [ebp - 4], 0x8b
call fcn.0043d6c0
mov edi, eax
mov dword [ebp - 0x1c], esi
lea esi, [edi + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.00443030
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [edi + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_WakeConditionVariable]
mov dword [ebp - 4], 0x8a
test ebx, 0x10000000
je 0x45dbf8
and ebx, 0xefffffff
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x89
test ebx, 0x8000000
je 0x45dc1b
and ebx, 0xf7ffffff
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x88
test ebx, 0x4000000
je 0x45dc3e
and ebx, 0xfbffffff
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x87
test ebx, 0x2000000
je 0x45dc61
and ebx, 0xfdffffff
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
test ebx, 0x1000000
je 0x45e1b1
and ebx, 0xfeffffff
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
jmp 0x45e1b1
push 0x1c
call fcn.004b544c
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov dword [ebp - 4], 0x64
push esi
call dword [sym.imp.zip.dll_zip_strerror]
mov edx, eax
mov dword [ebp - 0xd0], 0
mov ecx, edx
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
add esp, 4
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
lea eax, [ecx + 1]
mov byte [ebp - 0xd0], 0
mov dword [ebp - 0x1c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45dcf0
sub ecx, dword [ebp - 0x1c]
push ecx
push edx
lea ecx, [ebp - 0xd0]
call fcn.00402310
mov byte [ebp - 4], 0x65
or ebx, 0x800
push esi
mov dword [ebp - 0x6c], ebx
call dword [sym.imp.zip.dll_zip_get_error]
add esp, 4
lea ecx, [ebp - 0x1c0]
mov edx, dword [eax]
call fcn.00403dc0
mov esi, eax
mov dword [ebp - 4], 0x66
or ebx, 0x1000
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0xe8]
push 0x12
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
push str.data_pangya_gb.iff
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
mov byte [ebp - 0xe8], 0
call fcn.00402310
mov dword [ebp - 4], 0x67
or ebx, 0x2000
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0x98]
push 0xf
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
push str.Achievement.iff
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
call fcn.00402310
mov dword [ebp - 4], 0x68
or ebx, 0x4000
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0xb0]
push 0xf
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
push str.saveAchievement
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
call fcn.00402310
mov dword [ebp - 4], 0x69
lea eax, [ebp - 0xb0]
or ebx, 0x8000
lea ecx, [ebp - 0x1a8]
push eax
mov edx, str._iff_writer::
mov dword [ebp - 0x6c], ebx
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x6a
or ebx, 0x10000
push str.__Error__nao_conseguiu_adicionar_o_arquivo
mov edx, eax
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0x190]
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x6b
or ebx, 0x20000
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0x98]
mov edx, eax
push ecx
lea ecx, [ebp - 0x178]
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x6c
or ebx, 0x40000
push str._para_o_arquivo_
mov edx, eax
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0x100]
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x6d
lea ecx, [ebp - 0xe8]
push ecx
or ebx, 0x80000
lea ecx, [ebp - 0x118]
mov edx, eax
mov dword [ebp - 0x6c], ebx
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x6e
or ebx, 0x100000
push str.._ErrCode:
mov edx, eax
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0x160]
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x6f
or ebx, 0x200000
push esi
mov edx, eax
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0x130]
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x70
or ebx, 0x400000
push str._ErrMsg:
mov edx, eax
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0x148]
call fcn.0043d5b0
mov dword [ebp - 4], 0x71
sub esp, 0x14
or ebx, 0x800000
lea edx, [ebp - 0xd0]
mov dword [ebp - 0x6c], ebx
mov ecx, esp
mov dword [ebp - 0x1c], esp
push edx
mov edx, eax
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x72
push 2
mov byte [ebp - 4], 0x71
mov ecx, edi
call fcn.00443ab0
mov esi, eax
mov dword [ebp - 4], 0x7f
call fcn.0043d6c0
mov edi, eax
mov dword [ebp - 0x1c], esi
lea esi, [edi + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.00443030
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [edi + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_WakeConditionVariable]
mov dword [ebp - 4], 0x7e
test ebx, 0x800000
je 0x45e001
and ebx, 0xff7fffff
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x7d
test ebx, 0x400000
je 0x45e024
and ebx, 0xffbfffff
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x7c
test ebx, 0x200000
je 0x45e047
and ebx, 0xffdfffff
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x7b
test ebx, 0x100000
je 0x45e06a
and ebx, 0xffefffff
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x7a
test ebx, 0x80000
je 0x45e08d
and ebx, 0xfff7ffff
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x79
test ebx, 0x40000
je 0x45e0b0
and ebx, 0xfffbffff
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x78
test ebx, 0x20000
je 0x45e0d3
and ebx, 0xfffdffff
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x77
test ebx, 0x10000
je 0x45e0f6
and ebx, 0xfffeffff
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x76
test ebx, 0x8000
je 0x45e119
and ebx, 0xffff7fff
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x75
test ebx, 0x4000
je 0x45e13c
and ebx, 0xffffbfff
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x74
test ebx, 0x2000
je 0x45e15f
and ebx, 0xffffdfff
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x73
test ebx, 0x1000
je 0x45e182
and ebx, 0xffffefff
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
test ebx, 0x800
je 0x45e1a5
and ebx, 0xfffff7ff
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
push dword [ebp - 0x20]
call dword [sym.imp.zip.dll_zip_source_free]
add esp, 4
push dword [ebp - 0x24]
mov esi, dword [ebp - 0x70]
push dword [ebp - 0x28]
push 8
push dword [ebp - 0xb4]
push dword [ebp - 0xb8]
push esi
call dword [sym.imp.zip.dll_zip_file_set_external_attributes]
add esp, 0x18
test eax, eax
jns 0x45e4a5
push 0x1c
call fcn.004b544c
mov edi, eax
add esp, 4
mov dword [ebp - 0x7c], edi
mov dword [ebp - 4], 0x8c
push esi
call dword [sym.imp.zip.dll_zip_strerror]
mov edx, eax
mov dword [ebp - 0xe8], 0
mov ecx, edx
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
add esp, 4
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
lea eax, [ecx + 1]
mov byte [ebp - 0xe8], 0
mov dword [ebp - 0x1c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45e240
sub ecx, dword [ebp - 0x1c]
push ecx
push edx
lea ecx, [ebp - 0xe8]
call fcn.00402310
mov byte [ebp - 4], 0x8d
or ebx, 0x20000000
push esi
mov dword [ebp - 0x6c], ebx
call dword [sym.imp.zip.dll_zip_get_error]
add esp, 4
lea ecx, [ebp - 0x130]
mov edx, dword [eax]
call fcn.00403dc0
mov esi, eax
mov dword [ebp - 4], 0x8e
or ebx, 0x40000000
mov dword [ebp - 0x6c], ebx
lea ecx, [ebp - 0xd0]
push 0xf
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
push str.saveAchievement
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0xf
mov byte [ebp - 0xd0], 0
call fcn.00402310
mov dword [ebp - 4], 0x8f
lea eax, [ebp - 0xd0]
or ebx, 0x80000000
lea ecx, [ebp - 0x148]
push eax
mov edx, str._iff_writer::
mov dword [ebp - 0x6c], ebx
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x90
mov edx, eax
push str.__Error__zip_file_set_external_attributes__ErrCode:
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x74], 1
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x91
mov edx, eax
push esi
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x74], 3
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x92
mov edx, eax
push str._ErrMsg:
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x74], 7
call fcn.0043d5b0
mov dword [ebp - 4], 0x93
sub esp, 0x14
lea edx, [ebp - 0xe8]
mov dword [ebp - 0x1c], esp
mov ecx, esp
mov dword [ebp - 0x74], 0xf
push edx
mov edx, eax
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x94
push 2
mov byte [ebp - 4], 0x93
mov ecx, edi
call fcn.00443ab0
mov esi, eax
mov dword [ebp - 4], 0x9b
call fcn.0043d6c0
mov edi, eax
mov dword [ebp - 0x1c], esi
lea esi, [edi + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0x1c]
mov ecx, edi
push eax
call fcn.00443030
push esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea eax, [edi + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_WakeConditionVariable]
mov dword [ebp - 4], 0x9a
mov esi, 0xf
mov dword [ebp - 0x74], esi
lea ecx, [ebp - 0x1c0]
and esi, 0xfffffff7
mov dword [ebp - 0x74], esi
call fcn.00401770
mov dword [ebp - 4], 0x99
and esi, 0xfffffffb
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x74], esi
call fcn.00401770
mov dword [ebp - 4], 0x98
and esi, 0xfffffffd
lea ecx, [ebp - 0x190]
mov dword [ebp - 0x74], esi
call fcn.00401770
mov dword [ebp - 4], 0x97
and esi, 0xfffffffe
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x74], esi
call fcn.00401770
mov dword [ebp - 4], 0x96
test ebx, ebx
jns 0x45e45f
and ebx, 0x7fffffff
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0x95
test ebx, 0x40000000
je 0x45e482
and ebx, 0xbfffffff
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
test ebx, 0x20000000
je 0x45e4a5
and ebx, 0xdfffffff
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x6c], ebx
call fcn.00401770
push dword [ebp - 0x70]
call dword [sym.imp.zip.dll_zip_close]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b543e
mov esp, ebp
pop ebp
ret