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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c925a
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1b8
mov eax, dword [0x4e400c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x78], ecx
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x68], 0
push eax
xor esi, esi
mov dword [ebp - 0x6c], esi
push 1
mov dword [ebp - 0x70], 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 - 0x74], eax
test eax, eax
jne 0x476415
push 0x1c
call fcn.004b544c
add esp, 4
mov dword [ebp - 0x78], eax
mov dword [ebp - 4], esi
lea ecx, [ebp - 0x120]
mov edx, dword [ebp - 0x2c]
call fcn.00403dc0
mov edi, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x108]
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 - 0x180]
push str.saveAbility
mov dword [ebp - 0x68], 3
call fcn.004021f0
mov dword [ebp - 4], 3
mov edx, str._iff::writer::
push eax
lea ecx, [ebp - 0xa0]
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 - 0xb8]
mov dword [ebp - 0x68], 0xf
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 5
mov edx, eax
push esi
lea ecx, [ebp - 0xf0]
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 - 0xd8]
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, dword [ebp - 0x78]
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 - 0xd8]
and esi, 0xffffffbf
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xd
and esi, 0xffffffdf
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xc
and esi, 0xffffffef
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xb
and esi, 0xfffffff7
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xa
and esi, 0xfffffffb
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 9
and esi, 0xfffffffd
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
and esi, 0xfffffffe
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x68], esi
call fcn.00401770
jmp 0x477d2a
push 8
push eax
call dword [sym.imp.zip.dll_zip_get_num_entries]
mov esi, eax
mov edi, edx
push 0x38
lea eax, [ebp - 0x64]
mov dword [ebp - 0x80], esi
push 0
push eax
mov dword [ebp - 0x7c], 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 - 0x88], xmm0
test edi, edi
jb 0x4764eb
ja 0x476462
test esi, esi
je 0x4764eb
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0x88]
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xc0], esi
nop word [eax + eax]
lea eax, [ebp - 0x64]
push eax
push 8
push edi
push esi
push dword [ebp - 0x74]
call dword [sym.imp.zip.dll_zip_stat_index]
mov eax, dword [ebp - 0x5c]
add esp, 0x14
mov ecx, str.Ability.iff
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4764c0
test dl, dl
je 0x4764bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4764c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4764a0
xor eax, eax
jmp 0x4764c5
sbb eax, eax
or eax, 1
test eax, eax
je 0x476503
add esi, 1
mov dword [ebp - 0xc0], esi
adc edi, 0
mov dword [ebp - 0xbc], edi
cmp edi, dword [ebp - 0x7c]
jb 0x476480
mov eax, dword [ebp - 0x80]
ja 0x476506
cmp esi, eax
jb 0x476480
jmp 0x476506
mov edi, dword [ebp - 0x84]
mov esi, dword [ebp - 0x88]
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0xc0], esi
mov eax, dword [ebp - 0x80]
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c], xmm0
cmp edi, dword [ebp - 0x7c]
ja 0x476f5e
jb 0x476521
cmp esi, eax
jae 0x476f5e
push 8
push edi
push esi
push dword [ebp - 0x74]
call dword [sym.imp.zip.dll_zip_fopen_index]
add esp, 0x10
mov dword [ebp - 0x20], eax
test eax, eax
je 0x476d60
mov edx, dword [ebp - 0x4c]
xor ecx, ecx
or ecx, dword [ebp - 0x50]
mov dword [ebp - 0x84], ecx
ja 0x476643
cmp edx, 8
jae 0x476643
push eax
call dword [sym.imp.zip.dll_zip_fclose]
add esp, 4
push dword [ebp - 0x74]
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 - 0x20], esi
mov dword [ebp - 4], 0x42
lea ecx, [ebp - 0x108]
push str.saveAbility
call fcn.004021f0
mov byte [ebp - 4], 0x43
mov edx, str._iff_writer::
push eax
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x68], 0x20000000
call fcn.0043d500
mov dword [ebp - 4], 0x44
sub esp, 0x14
mov ecx, esp
mov dword [ebp - 0x78], 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 - 0x120]
and esi, 0xbfffffff
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
and esi, 0xdfffffff
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x68], esi
call fcn.00401770
jmp 0x477d2a
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
push 8
push edi
push esi
mov esi, dword [ebp - 0x74]
push esi
call dword [sym.imp.zip.dll_zip_file_get_external_attributes]
add esp, 0x18
test eax, eax
jns 0x476869
push 0x1c
call fcn.004b544c
add esp, 4
mov dword [ebp - 0x7c], eax
mov dword [ebp - 4], 0x10
push esi
call dword [sym.imp.zip.dll_zip_strerror]
add esp, 4
lea ecx, [ebp - 0xa0]
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 - 0xb8]
mov edx, dword [eax]
call fcn.00403dc0
mov esi, eax
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0xf0]
push str.saveAbility
mov dword [ebp - 0x68], 0x180
call fcn.004021f0
mov dword [ebp - 4], 0x13
mov edx, str._iff_writer::
push eax
lea ecx, [ebp - 0xd8]
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 - 0x180]
mov dword [ebp - 0x68], 0x780
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x15
mov edx, eax
push esi
lea ecx, [ebp - 0x108]
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 - 0x120]
mov dword [ebp - 0x68], 0x1f80
call fcn.0043d5b0
mov dword [ebp - 4], 0x17
sub esp, 0x14
mov ecx, esp
mov dword [ebp - 0x80], 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, dword [ebp - 0x7c]
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 - 0x120]
and esi, 0xffffdfff
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x1d
and esi, 0xffffefff
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x1c
and esi, 0xfffff7ff
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x1b
and esi, 0xfffffbff
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x1a
and esi, 0xfffffdff
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x19
and esi, 0xfffffeff
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
and esi, 0xffffff7f
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x68], esi
call fcn.00401770
jmp 0x47686c
mov esi, dword [ebp - 0x68]
push 0x1c
call fcn.004b544c
add esp, 4
mov dword [ebp - 0x80], eax
mov dword [ebp - 4], 0x20
lea ecx, [ebp - 0x150]
mov edx, dword [ebp - 0x24]
call fcn.004019e0
mov dword [ebp - 0x7c], eax
mov byte [ebp - 4], 0x21
or esi, 0x4000
mov dword [ebp - 0x68], esi
lea ecx, [ebp - 0x138]
movzx edx, byte [ebp - 0x28]
call fcn.00403dc0
mov edi, eax
mov dword [ebp - 4], 0x22
or esi, 0x8000
push str.Ability.iff
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x68], esi
call fcn.004021f0
mov esi, eax
mov dword [ebp - 4], 0x23
lea ecx, [ebp - 0xa0]
or dword [ebp - 0x68], 0x10000
push str.saveAbility
call fcn.004021f0
mov dword [ebp - 4], 0x24
mov edx, str._iff_writer::
or dword [ebp - 0x68], 0x20000
lea ecx, [ebp - 0xb8]
push eax
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x25
mov edx, eax
or dword [ebp - 0x68], 0x40000
lea ecx, [ebp - 0xf0]
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 - 0xd8]
push esi
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x27
mov edx, eax
mov esi, dword [ebp - 0x68]
lea ecx, [ebp - 0x180]
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 - 0x108]
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x29
mov edi, esi
or edi, 0x400000
mov dword [ebp - 0x68], edi
push str._ATTR_FILE:
mov edx, eax
lea ecx, [ebp - 0x120]
call fcn.0043d5b0
mov dword [ebp - 4], 0x2a
sub esp, 0x14
or edi, 0x800000
mov ecx, esp
mov dword [ebp - 0x68], edi
mov edx, eax
mov dword [ebp - 0x84], esp
push dword [ebp - 0x7c]
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x2b
push 2
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x80]
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
test edi, 0x800000
je 0x476a36
and edi, 0xff7fffff
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x68], edi
call fcn.00401770
mov dword [ebp - 4], 0x33
test edi, 0x400000
je 0x476a59
and edi, 0xffbfffff
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x68], edi
call fcn.00401770
mov dword [ebp - 4], 0x32
test edi, 0x200000
je 0x476a7c
and edi, 0xffdfffff
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x68], edi
call fcn.00401770
mov dword [ebp - 4], 0x31
test edi, 0x100000
je 0x476a9f
and edi, 0xffefffff
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x68], edi
call fcn.00401770
mov dword [ebp - 4], 0x30
test edi, 0x80000
je 0x476ac2
and edi, 0xfff7ffff
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x68], edi
call fcn.00401770
mov dword [ebp - 4], 0x2f
test edi, 0x40000
je 0x476ae5
and edi, 0xfffbffff
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x68], edi
call fcn.00401770
mov dword [ebp - 4], 0x2e
test edi, 0x20000
je 0x476b08
and edi, 0xfffdffff
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x68], edi
call fcn.00401770
mov dword [ebp - 4], 0x2d
test edi, 0x10000
je 0x476b2b
and edi, 0xfffeffff
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x68], edi
call fcn.00401770
mov dword [ebp - 4], 0x2c
test edi, 0x8000
je 0x476b4e
and edi, 0xffff7fff
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x68], edi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
test edi, 0x4000
je 0x476b71
and edi, 0xffffbfff
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x68], edi
call fcn.00401770
mov esi, dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
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 - 0x18], 0xd
jne 0x476bb4
movzx eax, word [ebp - 0x1c]
xor edx, edx
or edx, dword [ebp - 0x50]
xor esi, esi
lea eax, [eax + eax*4]
shl eax, 4
add eax, 8
cmp eax, dword [ebp - 0x4c]
jne 0x476bb4
cmp esi, edx
je 0x477197
push 0x1c
call fcn.004b544c
mov edi, eax
add esp, 4
mov dword [ebp - 0x84], edi
mov dword [ebp - 4], 0x36
lea ecx, [ebp - 0x108]
push str.Ability.iff
call fcn.004021f0
mov esi, eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x120]
or dword [ebp - 0x68], 0x1000000
push str.saveAbility
call fcn.004021f0
mov dword [ebp - 4], 0x38
mov edx, str._iff_writer::
or dword [ebp - 0x68], 0x2000000
lea ecx, [ebp - 0x168]
push eax
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x39
mov edx, eax
or dword [ebp - 0x68], 0x4000000
lea ecx, [ebp - 0x138]
push str.__Error_
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x3a
mov edx, eax
or dword [ebp - 0x68], 0x8000000
lea ecx, [ebp - 0x150]
push esi
call fcn.00402700
mov dword [ebp - 4], 0x3b
sub esp, 0x14
or dword [ebp - 0x68], 0x10000000
mov ecx, esp
mov dword [ebp - 0x20], esp
mov edx, eax
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
mov esi, dword [ebp - 0x68]
test esi, 0x10000000
je 0x476cd0
and esi, 0xefffffff
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x3f
test esi, 0x8000000
je 0x476cf3
and esi, 0xf7ffffff
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x3e
test esi, 0x4000000
je 0x476d16
and esi, 0xfbffffff
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0x3d
test esi, 0x2000000
je 0x476d39
and esi, 0xfdffffff
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x68], esi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
test esi, 0x1000000
je 0x477d1e
and esi, 0xfeffffff
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x68], esi
jmp 0x477d19
push 0x1c
call fcn.004b544c
add esp, 4
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 0x48
mov esi, dword [ebp - 0x74]
push esi
call dword [sym.imp.zip.dll_zip_strerror]
add esp, 4
lea ecx, [ebp - 0xd8]
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 - 0x180]
mov edx, dword [eax]
call fcn.00403dc0
mov esi, eax
mov dword [ebp - 4], 0x4a
lea ecx, [ebp - 0x108]
push str.saveAbility
mov dword [ebp - 0x6c], 1
call fcn.004021f0
mov dword [ebp - 4], 0x4b
mov edx, str._iff_writer::
push eax
lea ecx, [ebp - 0x120]
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 - 0x168]
mov dword [ebp - 0x6c], 7
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x4d
mov edx, eax
push esi
lea ecx, [ebp - 0x138]
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 - 0x150]
mov dword [ebp - 0x6c], 0x1f
call fcn.0043d5b0
mov dword [ebp - 4], 0x4f
sub esp, 0x14
mov ecx, esp
mov dword [ebp - 0x84], 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, dword [ebp - 0x20]
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 - 0x150]
and esi, 0xffffffdf
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0x55
and esi, 0xffffffef
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0x54
and esi, 0xfffffff7
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0x53
and esi, 0xfffffffb
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0x52
and esi, 0xfffffffd
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0x51
and esi, 0xfffffffe
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
mov eax, 0x80000000
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0xd8]
and eax, 0x7fffffff
mov dword [ebp - 0x68], eax
jmp 0x477d19
push 0x1c
call fcn.004b544c
mov esi, eax
add esp, 4
mov dword [ebp - 0x84], esi
mov dword [ebp - 4], 0x58
lea ecx, [ebp - 0xb8]
push 0xb
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
push str.Ability.iff
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
call fcn.00402310
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0xa0]
push 0xb
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
push str.saveAbility
mov dword [ebp - 0x6c], 0x40
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.00402310
mov dword [ebp - 4], 0x5a
lea eax, [ebp - 0xa0]
push eax
mov edx, str._iff_writer::
mov dword [ebp - 0x6c], 0xc0
lea ecx, [ebp - 0x168]
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x5b
mov edx, eax
push str.__Log__nao_tinha_o_arquivo
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x6c], 0x1c0
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x5c
lea ecx, [ebp - 0xb8]
push ecx
mov edx, eax
mov dword [ebp - 0x6c], 0x3c0
lea ecx, [ebp - 0x150]
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 edi, 0x7c0
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0x150]
and edi, 0xfffffbff
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x61
and edi, 0xfffffdff
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x60
and edi, 0xfffffeff
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x5f
and edi, 0xffffff7f
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
and edi, 0xffffffbf
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 0x18], 0xd
mov byte [ebp - 0x28], 0
mov dword [ebp - 0x24], 6
jmp 0x47719a
mov edi, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x78]
mov ax, word [ecx + 0xcc]
mov word [ebp - 0x1c], ax
mov eax, dword [ecx + 0xcc]
lea eax, [eax + eax*4]
shl eax, 4
add eax, 8
push eax
call fcn.004b54b2
mov ecx, dword [ebp - 0x1c]
add esp, 4
mov edx, dword [ebp - 0x18]
mov esi, 8
mov dword [ebp - 0x20], eax
mov dword [eax], ecx
mov ecx, dword [ebp - 0x78]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 0xc8]
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
jne 0x477263
lea edx, [eax + 8]
nop word [eax + eax]
movups xmm0, xmmword [ecx + 0x14]
add esi, 0x50
lea edx, [edx + 0x50]
movups xmmword [edx - 0x50], xmm0
movups xmm0, xmmword [ecx + 0x24]
movups xmmword [edx - 0x40], xmm0
movups xmm0, xmmword [ecx + 0x34]
movups xmmword [edx - 0x30], xmm0
movups xmm0, xmmword [ecx + 0x44]
movups xmmword [edx - 0x20], xmm0
movups xmm0, xmmword [ecx + 0x54]
movups xmmword [edx - 0x10], xmm0
mov eax, dword [ecx + 8]
cmp byte [eax + 0xd], 0
je 0x477244
mov eax, dword [ecx + 4]
cmp byte [eax + 0xd], 0
jne 0x477240
cmp ecx, dword [eax + 8]
jne 0x477240
mov ecx, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x477230
mov ecx, eax
jmp 0x47725a
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0xd], 0
jne 0x47725a
nop
mov ecx, eax
mov eax, dword [ecx]
cmp byte [eax + 0xd], 0
je 0x477250
cmp byte [ecx + 0xd], 0
je 0x4771f0
mov eax, dword [ebp - 0x20]
push 0
push 0
push esi
mov esi, dword [ebp - 0x74]
push eax
push esi
call dword [sym.imp.zip.dll_zip_source_buffer]
add esp, 0x14
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x4774fd
push 0x2008
push eax
push str.Ability.iff
push esi
call dword [sym.imp.zip.dll_zip_file_add]
push 0x1c
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], edx
call fcn.004b544c
mov esi, eax
add esp, 0x14
mov dword [ebp - 0x84], esi
mov dword [ebp - 4], 0x80
lea ecx, [ebp - 0xa0]
push 0xb
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
push str.Ability.iff
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.00402310
mov byte [ebp - 4], 0x81
or edi, 0x1000000
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0xb8]
push 0xb
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
push str.saveAbility
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
call fcn.00402310
mov dword [ebp - 4], 0x82
lea eax, [ebp - 0xb8]
or edi, 0x2000000
lea ecx, [ebp - 0x168]
push eax
mov edx, str._iff_writer::
mov dword [ebp - 0x6c], edi
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x83
or edi, 0x4000000
push str.__Log__salvo_o_arquivo_source
mov edx, eax
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0x138]
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x84
lea ecx, [ebp - 0xa0]
push ecx
or edi, 0x8000000
lea ecx, [ebp - 0x150]
mov edx, eax
mov dword [ebp - 0x6c], edi
call fcn.00402700
mov dword [ebp - 4], 0x85
sub esp, 0x14
or edi, 0x10000000
mov ecx, esp
mov dword [ebp - 0x6c], edi
mov edx, eax
mov dword [ebp - 0x20], 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 - 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], 0x8a
mov edi, dword [ebp - 0x6c]
test edi, 0x10000000
je 0x477468
and edi, 0xefffffff
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x89
test edi, 0x8000000
je 0x47748b
and edi, 0xf7ffffff
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x88
test edi, 0x4000000
je 0x4774ae
and edi, 0xfbffffff
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x87
test edi, 0x2000000
je 0x4774d1
and edi, 0xfdffffff
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
test edi, 0x1000000
je 0x477a28
and edi, 0xfeffffff
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x6c], edi
call fcn.00401770
jmp 0x477a28
push 0x1c
call fcn.004b544c
add esp, 4
mov dword [ebp - 0x78], eax
mov dword [ebp - 4], 0x64
push esi
call dword [sym.imp.zip.dll_zip_strerror]
mov edx, eax
mov dword [ebp - 0xd8], 0
mov ecx, edx
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
add esp, 4
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0xf
lea eax, [ecx + 1]
mov byte [ebp - 0xd8], 0
mov dword [ebp - 0x20], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x477560
sub ecx, dword [ebp - 0x20]
push ecx
push edx
lea ecx, [ebp - 0xd8]
call fcn.00402310
mov byte [ebp - 4], 0x65
or edi, 0x800
push esi
mov dword [ebp - 0x6c], edi
call dword [sym.imp.zip.dll_zip_get_error]
add esp, 4
lea ecx, [ebp - 0x1c8]
mov edx, dword [eax]
call fcn.00403dc0
mov esi, eax
mov dword [ebp - 4], 0x66
or edi, 0x1000
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0xf0]
push 0x12
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
push str.data_pangya_gb.iff
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
call fcn.00402310
mov dword [ebp - 4], 0x67
or edi, 0x2000
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0xa0]
push 0xb
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
push str.Ability.iff
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.00402310
mov dword [ebp - 4], 0x68
or edi, 0x4000
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0xb8]
push 0xb
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
push str.saveAbility
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb8], 0
call fcn.00402310
mov dword [ebp - 4], 0x69
lea eax, [ebp - 0xb8]
or edi, 0x8000
lea ecx, [ebp - 0x1b0]
push eax
mov edx, str._iff_writer::
mov dword [ebp - 0x6c], edi
call fcn.0043d500
add esp, 4
mov dword [ebp - 4], 0x6a
or edi, 0x10000
push str.__Error__nao_conseguiu_adicionar_o_arquivo
mov edx, eax
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0x198]
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x6b
or edi, 0x20000
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0xa0]
mov edx, eax
push ecx
lea ecx, [ebp - 0x180]
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x6c
or edi, 0x40000
push str._para_o_arquivo_
mov edx, eax
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0x108]
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x6d
lea ecx, [ebp - 0xf0]
push ecx
or edi, 0x80000
lea ecx, [ebp - 0x120]
mov edx, eax
mov dword [ebp - 0x6c], edi
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x6e
or edi, 0x100000
push str.._ErrCode:
mov edx, eax
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0x168]
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x6f
or edi, 0x200000
push esi
mov edx, eax
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0x138]
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x70
or edi, 0x400000
push str._ErrMsg:
mov edx, eax
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0x150]
call fcn.0043d5b0
mov dword [ebp - 4], 0x71
sub esp, 0x14
or edi, 0x800000
lea edx, [ebp - 0xd8]
mov dword [ebp - 0x6c], edi
mov ecx, esp
mov dword [ebp - 0x84], 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, dword [ebp - 0x78]
call fcn.00443ab0
mov esi, eax
mov dword [ebp - 4], 0x7f
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], 0x7e
mov edi, dword [ebp - 0x6c]
test edi, 0x800000
je 0x477878
and edi, 0xff7fffff
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x7d
test edi, 0x400000
je 0x47789b
and edi, 0xffbfffff
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x7c
test edi, 0x200000
je 0x4778be
and edi, 0xffdfffff
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x7b
test edi, 0x100000
je 0x4778e1
and edi, 0xffefffff
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x7a
test edi, 0x80000
je 0x477904
and edi, 0xfff7ffff
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x79
test edi, 0x40000
je 0x477927
and edi, 0xfffbffff
lea ecx, [ebp - 0x180]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x78
test edi, 0x20000
je 0x47794a
and edi, 0xfffdffff
lea ecx, [ebp - 0x198]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x77
test edi, 0x10000
je 0x47796d
and edi, 0xfffeffff
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x76
test edi, 0x8000
je 0x477990
and edi, 0xffff7fff
lea ecx, [ebp - 0xb8]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x75
test edi, 0x4000
je 0x4779b3
and edi, 0xffffbfff
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x74
test edi, 0x2000
je 0x4779d6
and edi, 0xffffdfff
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0x73
test edi, 0x1000
je 0x4779f9
and edi, 0xffffefff
lea ecx, [ebp - 0x1c8]
mov dword [ebp - 0x6c], edi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
test edi, 0x800
je 0x477a1c
and edi, 0xfffff7ff
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x6c], edi
call fcn.00401770
push dword [ebp - 0x7c]
call dword [sym.imp.zip.dll_zip_source_free]
add esp, 4
push dword [ebp - 0x24]
mov esi, dword [ebp - 0x74]
push dword [ebp - 0x28]
push 8
push dword [ebp - 0xbc]
push dword [ebp - 0xc0]
push esi
call dword [sym.imp.zip.dll_zip_file_set_external_attributes]
add esp, 0x18
test eax, eax
jns 0x477d1e
push 0x1c
call fcn.004b544c
add esp, 4
mov dword [ebp - 0x78], eax
mov dword [ebp - 4], 0x8c
push esi
call dword [sym.imp.zip.dll_zip_strerror]
mov edx, eax
mov dword [ebp - 0xf0], 0
mov ecx, edx
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
add esp, 4
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
lea eax, [ecx + 1]
mov byte [ebp - 0xf0], 0
mov dword [ebp - 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x477ab2
sub ecx, dword [ebp - 0x20]
push ecx
push edx
lea ecx, [ebp - 0xf0]
call fcn.00402310
mov byte [ebp - 4], 0x8d
or edi, 0x20000000
push esi
mov dword [ebp - 0x6c], edi
call dword [sym.imp.zip.dll_zip_get_error]
add esp, 4
lea ecx, [ebp - 0x138]
mov edx, dword [eax]
call fcn.00403dc0
mov esi, eax
mov dword [ebp - 4], 0x8e
or edi, 0x40000000
mov dword [ebp - 0x6c], edi
lea ecx, [ebp - 0xd8]
push 0xb
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
push str.saveAbility
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0xf
mov byte [ebp - 0xd8], 0
call fcn.00402310
mov dword [ebp - 4], 0x8f
lea eax, [ebp - 0xd8]
or edi, 0x80000000
lea ecx, [ebp - 0x150]
push eax
mov edx, str._iff_writer::
mov dword [ebp - 0x6c], edi
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 - 0x198]
mov dword [ebp - 0x70], 1
call fcn.0043d5b0
add esp, 4
mov dword [ebp - 4], 0x91
mov edx, eax
push esi
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x70], 3
call fcn.00402700
add esp, 4
mov dword [ebp - 4], 0x92
mov edx, eax
push str._ErrMsg:
lea ecx, [ebp - 0x1c8]
mov dword [ebp - 0x70], 7
call fcn.0043d5b0
mov dword [ebp - 4], 0x93
sub esp, 0x14
lea edx, [ebp - 0xf0]
mov dword [ebp - 0x84], esp
mov ecx, esp
mov dword [ebp - 0x70], 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, dword [ebp - 0x78]
call fcn.00443ab0
mov esi, eax
mov dword [ebp - 4], 0x9b
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], 0x9a
mov esi, 0xf
mov dword [ebp - 0x70], esi
lea ecx, [ebp - 0x1c8]
and esi, 0xfffffff7
mov dword [ebp - 0x70], esi
call fcn.00401770
mov dword [ebp - 4], 0x99
and esi, 0xfffffffb
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x70], esi
call fcn.00401770
mov dword [ebp - 4], 0x98
and esi, 0xfffffffd
lea ecx, [ebp - 0x198]
mov dword [ebp - 0x70], esi
call fcn.00401770
mov dword [ebp - 4], 0x97
and esi, 0xfffffffe
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x70], esi
call fcn.00401770
mov dword [ebp - 4], 0x96
mov esi, dword [ebp - 0x6c]
test esi, esi
jns 0x477cd8
and esi, 0x7fffffff
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0x95
test esi, 0x40000000
je 0x477cfb
and esi, 0xbfffffff
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x6c], esi
call fcn.00401770
mov dword [ebp - 4], 0xffffffff
test esi, 0x20000000
je 0x477d1e
and esi, 0xdfffffff
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x6c], esi
call fcn.00401770
push dword [ebp - 0x74]
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
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004b543e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret