Function at 0x472500
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4f70a3
mov eax, dword fs:[0]
push eax
sub esp, 0xf0
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5e4ce0]
xor eax, esp
push eax
lea eax, [esp + 0x104]
mov dword fs:[0], eax
mov ebp, ecx
mov dword [esp + 0x34], ebp
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x114]
xor esi, esi
cmp dword [esp + 0x124], esi
mov byte [eax], 1
setne bl
mov byte [esp + 0x17], bl
call fcn.00454170
test bl, bl
mov edi, eax
mov dword [esp + 0x38], edi
jne 0x4725a7
cmp edi, esi
jne 0x47257f
mov edx, dword [ebp + 4]
mov eax, dword [edx + 0x10]
lea ecx, [ebp + 4]
push str.Cannot_write_zip__fileName_is_null
call eax
or eax, 0xffffffff
jmp 0x472c1f
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x472582
sub eax, edx
jne 0x4725a7
mov edx, dword [ebp + 4]
mov eax, dword [edx + 0x10]
lea ecx, [ebp + 4]
push str.Cannot_write_zip_fileName_is_empty
call eax
or eax, 0xffffffff
jmp 0x472c1f
or ebx, 0xffffffff
cmp byte [esp + 0x17], 0
mov dword [esp + 0x20], esi
mov dword [esp + 0x2c], ebx
jne 0x472691
cmp byte [esp + 0x128], 0
lea esi, [ebp + 4]
push esi
je 0x472648
lea ecx, [esp + 0x1f]
push ecx
push edi
mov byte [esp + 0x27], 0
call fcn.0048a290
add esp, 0xc
cmp byte [esp + 0x1b], 0
mov ebx, eax
mov dword [esp + 0x2c], ebx
jne 0x472612
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push str.Failed_to_open_output_file
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
push edi
push str.filename
mov ecx, esi
call eax
mov eax, 0xfffffffe
jmp 0x472c1f
push esi
push ebx
call fcn.004571e0
add esp, 8
cmp eax, 0xffffffff
mov dword [esp + 0x20], eax
jne 0x47268f
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
push edi
push str.filename
mov ecx, esi
call eax
push esi
push ebx
call fcn.004661e0
add esp, 8
mov eax, 0xfffffffe
jmp 0x472c1f
lea ecx, [esp + 0x1c]
push ecx
push edi
mov byte [esp + 0x24], 0
call fcn.0048a1f0
add esp, 0xc
cmp byte [esp + 0x18], 0
mov ebx, eax
mov dword [esp + 0x2c], eax
jne 0x47268f
mov edx, dword [esi]
mov eax, dword [edx + 0x10]
push str.Failed_to_open_output_Zip_file
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 0x28]
push edi
push str.zipFilename
mov ecx, esi
call eax
mov eax, 0xfffffffe
jmp 0x472c1f
xor esi, esi
mov ecx, ebp
call fcn.004724a0
push 0x60
mov edi, eax
call fcn.004cabe6
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, esi
mov dword [esp + 0x10c], esi
je 0x4726c9
mov ecx, dword [esp + 0x11c]
push edi
push ecx
mov ecx, eax
call fcn.0046fac0
mov dword [esp + 0x28], eax
jmp 0x4726cd
mov dword [esp + 0x28], esi
lea ecx, [esp + 0x90]
mov dword [esp + 0x10c], 0xffffffff
call fcn.0048d550
cmp byte [esp + 0x17], 0
mov dword [esp + 0x10c], 1
mov dword [esp + 0x3c], esi
mov dword [esp + 0x30], esi
je 0x472735
push 0xc
call fcn.004cabe6
add esp, 4
mov dword [esp + 0x1c], eax
cmp eax, esi
mov byte [esp + 0x10c], 2
je 0x47272d
mov edx, dword [esp + 0x124]
push edx
mov ecx, eax
call fcn.0049e590
mov dword [esp + 0x3c], eax
jmp 0x472783
xor eax, eax
mov dword [esp + 0x3c], eax
jmp 0x472783
push 0x20
call fcn.004cabe6
add esp, 4
cmp byte [esp + 0x128], 0
mov dword [esp + 0x1c], eax
je 0x472764
cmp eax, esi
mov byte [esp + 0x10c], 3
je 0x47277d
push esi
push ebx
mov ecx, eax
call fcn.0048a330
jmp 0x47277f
cmp eax, esi
mov byte [esp + 0x10c], 4
je 0x47277d
push esi
push esi
push esi
push ebx
mov ecx, eax
call fcn.0048a3e0
jmp 0x47277f
xor eax, eax
mov dword [esp + 0x30], eax
lea ecx, [ebp + 0x48]
mov byte [esp + 0x10c], 1
mov dword [esp + 0x24], eax
call fcn.004c06c0
mov ebx, eax
xor edi, edi
test ebx, ebx
mov dword [esp + 0x40], ebx
mov byte [esp + 0x17], 0
mov dword [esp + 0x44], edi
jle 0x472aa9
push edi
lea ecx, [ebp + 0x48]
mov byte [esp + 0x1e], 0
call fcn.004c0780
mov esi, eax
mov ecx, esi
call fcn.00479820
test al, al
jne 0x4729e2
cmp byte [ebp + 0x1ac], al
je 0x4727e6
mov ecx, esi
call fcn.00475930
test al, al
jne 0x4729e2
lea ecx, [esp + 0x64]
call fcn.0048d4e0
lea eax, [esp + 0x68]
push eax
mov ecx, esi
mov byte [esp + 0x110], 5
call fcn.00475a20
mov ecx, esi
call fcn.00475820
push 0
mov ecx, esi
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], 0
mov byte [esp + 0x90], 0
call fcn.00475890
mov ecx, esi
call fcn.00475930
test al, al
jne 0x47286e
mov ebx, dword [esp + 0x11c]
test ebx, ebx
mov byte [esp + 0x8c], al
je 0x47287c
mov edx, dword [esp + 0x84]
mov edi, dword [ebx]
lea ecx, [esp + 0x8c]
push ecx
push edx
lea ecx, [esp + 0x70]
add edi, 0x78
call fcn.004c06c0
push eax
mov eax, dword [edi]
push ebx
call eax
cmp byte [esp + 0x8c], 0
jne 0x4729f3
mov edi, dword [esp + 0x28]
xor eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x1c], eax
mov byte [esp + 0x19], al
mov eax, dword [esp + 0x34]
mov cl, byte [eax + 0x29c]
mov byte [esi + 0x2c], cl
lea ebp, [eax + 4]
mov eax, dword [eax + 0x44]
lea edx, [esp + 0x19]
push edx
push eax
lea ecx, [esp + 0x98]
push ecx
lea edx, [esp + 0x28]
push edx
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x58]
push eax
push ebp
push edi
lea ecx, [esp + 0x3c]
push ecx
push edx
mov ecx, esi
call fcn.00477c50
mov bl, al
test bl, bl
jne 0x47293a
cmp byte [esp + 0x19], al
jne 0x47293a
lea ecx, [esp + 0xa8]
call fcn.004537d0
lea eax, [esp + 0xa8]
push eax
mov ecx, esi
mov byte [esp + 0x110], 6
call fcn.00479d70
mov edi, dword [ebp]
lea ecx, [esp + 0xa8]
add edi, 0x28
call fcn.00453f00
mov edx, dword [edi]
push eax
push str.FailedFile
mov ecx, ebp
call edx
mov eax, dword [esp + 0x120]
lea ecx, [esp + 0xa8]
mov byte [eax], bl
mov byte [esp + 0x10c], 5
call fcn.00453880
mov edi, dword [esp + 0x28]
test edi, edi
je 0x472953
mov ecx, edi
call fcn.0046fbd0
test al, al
je 0x472953
mov byte [esp + 0x1a], 1
mov byte [esp + 0x17], 1
test bl, bl
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x88], ecx
jne 0x47296b
push 0
mov ecx, esi
call fcn.004758e0
mov edi, dword [esp + 0x11c]
test edi, edi
je 0x4729be
mov ecx, esi
call fcn.00475930
test al, al
jne 0x4729be
mov ecx, dword [esp + 0x84]
mov esi, dword [edi]
lea edx, [esp + 0x8c]
mov byte [esp + 0x8c], al
mov eax, dword [esp + 0x88]
push edx
push eax
push ecx
lea ecx, [esp + 0x74]
add esi, 0x7c
call fcn.004c06c0
mov edx, dword [esi]
push eax
push edi
call edx
cmp byte [esp + 0x8c], 0
jne 0x4729fe
cmp byte [esp + 0x1a], 0
jne 0x472a03
lea ecx, [esp + 0x64]
mov byte [esp + 0x10c], 1
call fcn.0048d510
mov ebp, dword [esp + 0x34]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
add edi, 1
cmp edi, ebx
mov dword [esp + 0x44], edi
jl 0x4727b0
jmp 0x472a18
push 1
mov ecx, esi
call fcn.00475890
jmp 0x4729c5
mov byte [esp + 0x17], 1
lea ecx, [esp + 0x64]
mov byte [esp + 0x10c], 1
call fcn.0048d510
mov ebp, dword [esp + 0x34]
cmp byte [esp + 0x17], 0
je 0x472aa9
mov eax, dword [esp + 0x2c]
cmp eax, 0xffffffff
je 0x472a39
lea ecx, [ebp + 4]
push ecx
push eax
call fcn.004661e0
add esp, 8
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x472a4a
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x472a5b
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
mov ecx, dword [esp + 0x28]
test ecx, ecx
je 0x472a6b
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ecx, dword [esp + 0x38]
push 0
push ecx
call fcn.00458370
mov edx, dword [ebp + 4]
mov eax, dword [edx + 0x10]
lea ecx, [ebp + 4]
add esp, 8
push str.Zip_aborted.
call eax
lea ecx, [esp + 0x90]
mov dword [esp + 0x10c], 0xffffffff
call fcn.0048d570
or eax, 0xffffffff
jmp 0x472c1f
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
lea ecx, [ebp + 0x48]
xor ebx, ebx
call fcn.004c06c0
xor edi, edi
test eax, eax
mov dword [esp + 0x40], eax
jle 0x472b35
push edi
lea ecx, [ebp + 0x48]
call fcn.004c0780
mov esi, eax
test esi, esi
je 0x472b2c
mov ecx, esi
call fcn.00479820
test al, al
jne 0x472b2c
cmp byte [ebp + 0x1ac], al
je 0x472af2
mov ecx, esi
call fcn.00475930
test al, al
jne 0x472b2c
mov ecx, esi
call fcn.00475910
test al, al
je 0x472b2c
mov ecx, esi
call fcn.004758c0
test al, al
jne 0x472b2c
mov edx, dword [ebp + 0x44]
push edx
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x2c]
lea ecx, [ebp + 4]
push ecx
lea edx, [esp + 0x2c]
push edx
push eax
mov ecx, esi
add ebx, 1
call fcn.00477d30
add edi, 1
cmp edi, dword [esp + 0x40]
jl 0x472ac5
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
sub ecx, eax
xor edi, edi
mov dword [esp + 0x58], ecx
lea esi, [ebp + 0x74]
mov ecx, esi
mov word [esp + 0x60], di
mov dword [esp + 0x4c], 0x6054b50
mov word [esp + 0x50], di
mov word [esp + 0x52], di
mov word [esp + 0x54], bx
mov word [esp + 0x56], bx
mov dword [esp + 0x5c], eax
call fcn.004c49f0
test eax, eax
jne 0x472b7f
mov word [esp + 0x60], di
jmp 0x472b8b
mov ecx, esi
call fcn.004c49f0
mov word [esp + 0x60], ax
mov ebx, dword [esp + 0x24]
push 1
push 0x16
lea edx, [esp + 0x54]
push edx
mov ecx, ebx
call fcn.0049e4b0
mov ax, word [esp + 0x60]
cmp ax, di
je 0x472bbe
movzx eax, ax
push 1
push eax
mov ecx, esi
call fcn.004c06c0
push eax
mov ecx, ebx
call fcn.0049e4b0
mov eax, dword [esp + 0x2c]
cmp eax, 0xffffffff
je 0x472bd4
add ebp, 4
push ebp
push eax
call fcn.004661e0
add esp, 8
mov ecx, dword [esp + 0x30]
cmp ecx, edi
je 0x472be5
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
mov ecx, dword [esp + 0x3c]
cmp ecx, edi
je 0x472bf6
mov edx, dword [ecx]
mov eax, dword [edx + 8]
push 1
call eax
mov ecx, dword [esp + 0x28]
cmp ecx, edi
je 0x472c06
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
lea ecx, [esp + 0x90]
mov dword [esp + 0x10c], 0xffffffff
call fcn.0048d570
xor eax, eax
mov ecx, dword [esp + 0x104]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xfc
ret 0x18