Function at 0x47ed81
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1950
call fcn.004113d0
mov eax, dword [0x4b22d4]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x191c], eax
mov eax, dword [ebp + 0xc]
push edi
mov dword [ebp - 0x1918], eax
mov eax, dword [ebp + 0x10]
xor ebx, ebx
mov esi, 0x7ff
push esi
mov dword [ebp - 0x1934], eax
lea eax, [ebp - 0x80b]
push ebx
push eax
mov dword [ebp - 0x192c], ebx
mov dword [ebp - 0x1930], ebx
mov dword [ebp - 0x1924], ebx
mov byte [ebp - 0x80c], bl
call fcn.00401f80
add esp, 0xc
push esi
lea eax, [ebp - 0x1913]
push ebx
push eax
mov byte [ebp - 0x1914], bl
call fcn.00401f80
add esp, 0xc
push esi
lea eax, [ebp - 0x1113]
push ebx
push eax
mov byte [ebp - 0x1114], bl
call fcn.00401f80
add esp, 0xc
push 0x103
lea eax, [ebp - 0x913]
push ebx
push eax
mov byte [ebp - 0x914], bl
call fcn.00401f80
xor eax, eax
lea edi, [ebp - 0x1940]
mov dword [ebp - 0x1944], ebx
stosd dword es:[edi], eax
mov edi, dword [ebp - 0x191c]
add esp, 0xc
mov edx, edi
mov dword [ebp - 0x1928], ebx
mov dword [ebp - 0x1948], ebx
mov dword [ebp - 0x194c], ebx
mov dword [ebp - 0x1938], ebx
mov dword [ebp - 0x1920], ebx
mov dword [0x4c4c98], ebx
call fcn.00436c5d
test eax, eax
je 0x47ee80
mov dword [0x4c3c94], ebx
xor eax, eax
jmp 0x47f401
cmp dword [ebp - 0x1918], ebx
je 0x47ee90
push dword [ebp - 0x1918]
jmp 0x47eebe
mov edx, dword [ebp - 0x1934]
call fcn.00436c5d
test eax, eax
jne 0x47eebd
push dword [ebp - 0x1934]
mov ecx, 0x800
lea eax, [ebp - 0x1114]
call fcn.00435b27
pop ecx
call fcn.00435996
jmp 0x47eecf
push edi
mov ecx, 0x800
lea eax, [ebp - 0x1114]
call fcn.00435b27
pop ecx
lea eax, [ebp - 0x1114]
push eax
push edi
call fcn.00401811
pop ecx
pop ecx
test eax, eax
jne 0x47eefc
lea esi, [ebp - 0x1114]
call fcn.004378e6
mov eax, esi
push str._Unpacked
push eax
call fcn.00401bb0
pop ecx
pop ecx
push 0x159
push str.Archive.c
mov edx, 0x48d1ec
mov ecx, edi
call fcn.00473c34
mov edi, eax
pop ecx
pop ecx
mov dword [ebp - 0x1918], edi
cmp edi, ebx
jne 0x47ef30
mov edi, dword [ebp - 0x191c]
call fcn.00474f3d
jmp 0x47ee73
mov esi, dword [ebp - 0x191c]
push str..exe
call fcn.0043783d
push eax
call fcn.00401811
pop ecx
pop ecx
test eax, eax
jne 0x47ef62
mov ecx, esi
call fcn.0047ec8f
mov esi, eax
push ebx
push esi
push edi
call fcn.0040287c
add esp, 0xc
jmp 0x47ef64
xor esi, esi
push edi
push 1
lea eax, [ebp - 0x194c]
push 4
push eax
call fcn.00402244
push edi
push 1
lea eax, [ebp - 0x1948]
push 4
push eax
call fcn.00402244
mov ecx, dword [ebp - 0x194c]
mov edx, edi
call fcn.0047d72b
push ebx
add esi, 0x10
push esi
push dword [ebp - 0x1918]
mov edi, eax
call fcn.0040287c
add esp, 0x2c
mov esi, str.222PAULAARCHIVE222JesusIAdoreYou
push dword [ebp - 0x1918]
call fcn.00401e7e
pop ecx
movsx ecx, byte [esi]
cmp eax, ecx
jne 0x47efe7
inc esi
cmp byte [esi], bl
jne 0x47efad
cmp edi, dword [ebp - 0x1948]
je 0x47f002
mov ecx, dword [ebp - 0x1918]
call fcn.00475e84
mov dword [0x4c4c98], 1
jmp 0x47ee73
mov ecx, dword [ebp - 0x1918]
call fcn.00475e84
mov ecx, dword [ebp - 0x191c]
call fcn.00475661
jmp 0x47ee73
mov dword [ebp - 0x191c], ebx
push dword [ebp - 0x1918]
xor esi, esi
inc esi
push esi
lea eax, [ebp - 0x1924]
push 4
push eax
mov dword [ebp - 0x1924], ebx
call fcn.00402244
add esp, 0x10
cmp eax, esi
jae 0x47f041
push dword [ebp - 0x1918]
call fcn.004019d8
pop ecx
test eax, eax
jne 0x47f3ab
cmp dword [ebp - 0x1924], ebx
jl 0x47f3a9
mov edi, 0x800
push edi
lea eax, [ebp - 0x80c]
push ebx
push eax
call fcn.00401f80
add esp, 0xc
xor esi, esi
push dword [ebp - 0x1918]
call fcn.00401e7e
pop ecx
mov byte [ebp + esi - 0x80c], al
cmp eax, ebx
je 0x47f081
inc esi
cmp esi, edi
jb 0x47f065
cmp esi, edi
jae 0x47f3a3
push 8
lea eax, [ebp - 0x1944]
push ebx
push eax
call fcn.00401f80
add esp, 0xc
push dword [ebp - 0x1918]
lea eax, [ebp - 0x1944]
push 1
push 8
push eax
call fcn.00402244
add esp, 0x10
cmp eax, 1
jb 0x47f3a9
cmp dword [ebp - 0x1924], ebx
jne 0x47f0df
lea edx, [ebp - 0x80c]
call fcn.00436c5d
test eax, eax
je 0x47f0df
inc dword [ebp - 0x1938]
jmp 0x47f008
mov edx, dword [ebp - 0x1934]
call fcn.00436c5d
test eax, eax
jne 0x47f108
lea eax, [ebp - 0x80c]
call fcn.00435996
mov ecx, dword [ebp - 0x1934]
mov ebx, eax
call fcn.00437c62
xor ebx, ebx
lea edx, [ebp - 0x1114]
lea ecx, [ebp - 0x80c]
call fcn.0043794f
lea eax, [ebp - 0x80c]
push eax
lea eax, [ebp - 0x1914]
push eax
call fcn.00401ba0
lea eax, [ebp - 0x1914]
call fcn.00435996
push eax
call fcn.004732c3
add esp, 0xc
test eax, eax
jne 0x47f16e
push ebx
lea ecx, [ebp - 0x1914]
call fcn.00474c86
pop ecx
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x1914]
push eax
call fcn.004732c3
pop ecx
test eax, eax
je 0x47f3a9
call fcn.00419a8b
mov dword [ebp - 0x193c], eax
xor edi, edi
push 0x22a
push str.Archive.c
mov edx, 0x48d22c
lea ecx, [ebp - 0x80c]
call fcn.00473c34
pop ecx
pop ecx
mov dword [ebp - 0x1930], eax
cmp eax, ebx
jne 0x47f22a
call fcn.00419a8b
sub eax, dword [ebp - 0x193c]
cmp eax, 0x1194
ja 0x47f1ed
cmp dword [0x4c3c94], ebx
jne 0x47f1fb
lea esi, [ebp - 0x80c]
call fcn.00436761
mov eax, esi
push eax
call fcn.00401a80
pop ecx
mov ecx, esi
cmp byte [eax + ecx - 1], 0x5c
je 0x47f1ed
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc edi
cmp edi, 0xf
jl 0x47f17b
cmp dword [0x4c3c94], ebx
jne 0x47f1fb
inc dword [ebp - 0x1920]
cmp dword [ebp - 0x1924], ebx
jle 0x47f008
push 1
push dword [ebp - 0x1924]
push dword [ebp - 0x1918]
call fcn.0040287c
add esp, 0xc
test eax, eax
je 0x47f008
jmp 0x47f3a9
inc dword [ebp - 0x191c]
cmp dword [ebp - 0x192c], ebx
jne 0x47f254
push 1
push 0xc366
call fcn.00401a3a
pop ecx
pop ecx
mov dword [ebp - 0x192c], eax
cmp eax, ebx
je 0x47f3a9
xor edi, edi
cmp dword [ebp - 0x1924], ebx
jle 0x47f33f
push dword [ebp - 0x1918]
lea eax, [ebp - 0x1928]
push 1
push 2
push eax
call fcn.00402244
add esp, 0x10
cmp eax, 1
jb 0x47f3a9
cmp word [ebp - 0x1928], bx
je 0x47f3a9
movzx eax, word [ebp - 0x1928]
mov dword [ebp - 0x193c], eax
fild dword [ebp - 0x193c]
fcomp qword [0x4af4e0]
fnstsw ax
test ah, 0x41
je 0x47f3a9
movzx esi, word [ebp - 0x1928]
push dword [ebp - 0x1918]
push esi
push 1
push dword [ebp - 0x192c]
call fcn.00402244
add esp, 0x10
cmp eax, esi
jb 0x47f3a9
mov eax, dword [ebp - 0x192c]
add esi, eax
push esi
push dword [ebp - 0x1928]
call fcn.0047d9ba
movzx eax, ax
pop ecx
pop ecx
cmp ax, bx
je 0x47f3a9
push dword [ebp - 0x1930]
mov esi, eax
movzx eax, word [ebp - 0x1928]
add eax, dword [ebp - 0x192c]
push esi
push 1
push eax
call fcn.0040257f
add esp, 0x10
cmp eax, esi
jae 0x47f328
inc dword [ebp - 0x1920]
movzx eax, word [ebp - 0x1928]
lea edi, [edi + eax + 2]
cmp edi, dword [ebp - 0x1924]
jl 0x47f262
mov ecx, dword [ebp - 0x1930]
call fcn.00475e84
push ebx
push closesocket
push 3
push ebx
push 7
push 0x100
lea eax, [ebp - 0x80c]
push eax
mov dword [ebp - 0x1930], ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x47f37f
inc dword [ebp - 0x1920]
jmp 0x47f008
lea eax, [ebp - 0x1944]
push eax
push eax
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
jne 0x47f399
inc dword [ebp - 0x1920]
call fcn.00473b95
jmp 0x47f008
mov byte [ebp - 0x78e], bl
xor esi, esi
mov ecx, dword [ebp - 0x1918]
call fcn.00475e84
mov ecx, dword [ebp - 0x1930]
cmp ecx, ebx
je 0x47f3c5
call fcn.00475e84
cmp dword [ebp - 0x192c], ebx
je 0x47f3d9
push dword [ebp - 0x192c]
call fcn.00401a00
pop ecx
mov dword [0x4c3c94], ebx
cmp dword [ebp - 0x1938], ebx
jle 0x47f3f5
cmp dword [ebp - 0x191c], ebx
jle 0x47f3f5
mov dword [ebp - 0x191c], ebx
mov eax, esi
neg eax
sbb eax, eax
and eax, dword [ebp - 0x191c]
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00401317
leave
ret