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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x16c
mov eax, dword [0x5005d0]
xor eax, esp
mov dword [esp + 0x168], eax
push ebx
push esi
push edi
push 0x103
xor ebx, ebx
lea eax, [esp + 0x6d]
push ebx
push eax
mov byte [esp + 0x74], 0
call fcn.004a7110
xor eax, eax
mov byte [esp + 0x60], bl
lea edi, [esp + 0x61]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov word [esp + 0x40], bx
lea edi, [esp + 0x42]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov word [esp + 0x50], bx
lea edi, [esp + 0x52]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esp, 0xc
cmp dword [ebp + 8], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ebx
stosw word es:[edi], ax
je 0x43eca1
cmp dword [0x5f9ef4], ebx
je 0x43eca1
xor eax, eax
inc eax
mov ecx, dword [esp + 0x174]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004a69f5
mov esp, ebp
pop ebp
ret
cmp dword [0x5f9ef8], ebx
je 0x43eccf
call fcn.00498efc
mov esi, eax
jmp 0x43ecc7
call fcn.00498efc
sub eax, esi
cmp eax, 0x2710
jae 0x43eccf
push ebx
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [0x5f9ef8], ebx
jne 0x43ecb2
push str.GatMem.sat
xor esi, esi
push ebx
inc esi
push ebx
mov dword [0x5f9ef8], esi
call fcn.00459ede
pop ecx
pop ecx
push eax
lea eax, [esp + 0x70]
push 0x4c64d0
push eax
call fcn.004a708e
add esp, 0x10
lea edi, [esp + 0x68]
call fcn.00418e6b
test eax, eax
jne 0x43ed13
mov dword [0x5f9ef8], ebx
xor eax, eax
jmp 0x43ec8c
push 0x12d6
push str..Network.c
mov edx, 0x4c520c
lea ecx, [esp + 0x70]
mov dword [esp + 0x2c], esi
call fcn.0041a89d
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
mov dword [esp + 0x20], edi
je 0x43ed06
push edi
push esi
lea eax, [esp + 0x1c]
push 4
push eax
call fcn.004a7455
add esp, 0x10
cmp eax, esi
jae 0x43ed59
mov ecx, edi
call fcn.0041acca
jmp 0x43ed06
push 0xa
pop eax
cmp dword [esp + 0x14], eax
jle 0x43ed66
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], ebx
jle 0x43ed50
push edi
call fcn.004a68be
cmp eax, 0xffffffff
pop ecx
je 0x43eda9
mov edi, str.Thank_you_Jesus_for_your_help.__I_adore_you_desperately.__I_love_you_so_much__violently.__I_depsperately_want_you_more_than_anything_
mov ebx, edi
dec ebx
movsx ecx, byte [ebx + esi]
cmp eax, ecx
jne 0x43eda3
push edi
call fcn.004a63c0
cmp esi, eax
pop ecx
jge 0x43edf1
push dword [esp + 0x20]
inc esi
call fcn.004a68be
cmp eax, 0xffffffff
pop ecx
jne 0x43ed80
mov edi, dword [esp + 0x20]
xor ebx, ebx
mov ecx, edi
call fcn.0041acca
push 0x1309
push str..Network.c
mov edx, 0x4c5348
lea ecx, [esp + 0x70]
call fcn.0041a89d
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
je 0x43ed06
push esi
push 1
lea eax, [esp + 0x1c]
push 4
push eax
mov dword [esp + 0x24], ebx
call fcn.004a612e
add esp, 0x10
mov ecx, esi
jmp 0x43ed52
mov edi, dword [esp + 0x20]
push edi
xor ebx, ebx
inc ebx
push ebx
lea eax, [esp + 0x3c]
push 0x10
push eax
call fcn.004a7455
add esp, 0x10
cmp eax, ebx
jae 0x43ee20
mov ecx, edi
call fcn.0041acca
and dword [0x5f9ef8], 0
jmp 0x43ed0c
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov cx, word [esp + 0x36]
xor eax, eax
cmp cx, word [esp + 0x46]
push edi
setne al
push ebx
push 0x10
push 0x5f6c5c
mov dword [esp + 0x40], eax
call fcn.004a7455
add esp, 0x10
cmp eax, ebx
jb 0x43ee0d
push edi
push ebx
push 0x10
push 0x5f6c6c
call fcn.004a7455
add esp, 0x10
cmp eax, ebx
jae 0x43ee7d
mov ecx, edi
call fcn.0041acca
xor eax, eax
and dword [0x5f9ef8], 0
jmp 0x43ec8c
xor eax, eax
cmp dword [esp + 0x14], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
jle 0x43f01b
xor eax, eax
push edi
push ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push 4
push eax
call fcn.004a7455
push edi
push ebx
mov esi, eax
lea eax, [esp + 0x34]
push 4
push eax
call fcn.004a7455
push edi
push ebx
add esi, eax
lea eax, [esp + 0x38]
push 4
push eax
call fcn.004a7455
add eax, esi
add esp, 0x30
cmp eax, 3
jl 0x43f010
xor esi, esi
cmp dword [esp + 0x10], esi
je 0x43f017
cmp dword [esp + 0x1c], esi
jl 0x43f017
cmp dword [esp + 0x18], esi
jl 0x43f017
cmp dword [esp + 0x1c], esi
jne 0x43ef0b
cmp dword [esp + 0x18], esi
je 0x43f017
sub dword [esp + 0x10], 0x309
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x54]
call fcn.00440be2
lea ecx, [esp + 0x54]
call fcn.00440c3b
cmp eax, dword [esp + 0x10]
jne 0x43ef8c
mov esi, dword [0x5f6734]
xor edi, edi
test esi, esi
jle 0x43efa7
mov ebx, 0x5f6c80
mov ecx, ebx
call fcn.00440c3b
cmp dword [esp + 0x10], eax
mov esi, dword [0x5f6734]
je 0x43ef5b
inc edi
add ebx, 0x14
cmp edi, esi
jl 0x43ef40
cmp edi, 0xa
jge 0x43ef89
cmp edi, esi
jge 0x43efa4
mov edx, dword [esp + 0x18]
mov eax, edi
shl eax, 2
lea ecx, [eax + 0x5f6d48]
cmp edx, dword [ecx]
jle 0x43ef79
mov dword [ecx], edx
mov ecx, dword [esp + 0x1c]
lea eax, [eax + 0x5f6d70]
cmp ecx, dword [eax]
jle 0x43ef89
mov dword [eax], ecx
xor ebx, ebx
inc ebx
inc dword [esp + 0x28]
mov eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
jl 0x43ee91
jmp 0x43f01b
xor ebx, ebx
inc ebx
cmp dword [esp + 0x30], 0
je 0x43efd6
call fcn.0043f4db
test eax, eax
je 0x43efd0
push 0xa8c
lea ecx, [esp + 0x58]
call fcn.0043c7ae
test eax, eax
pop ecx
jne 0x43efd0
mov dword [esp + 0x2c], ebx
jmp 0x43ef8c
mov esi, dword [0x5f6734]
lea eax, [esp + 0x54]
push eax
mov eax, esi
imul eax, eax, 0x14
push 0x14
add eax, 0x5f6c80
pop ecx
call fcn.00475883
mov eax, dword [esp + 0x1c]
mov dword [esi*4 + 0x5f6d48], eax
mov eax, dword [esp + 0x20]
mov dword [esi*4 + 0x5f6d70], eax
inc esi
pop ecx
mov dword [0x5f6734], esi
jmp 0x43ef8c
and dword [esp + 0x24], 0
jmp 0x43f01b
mov dword [esp + 0x24], esi
mov ecx, edi
call fcn.0041acca
cmp dword [esp + 0x2c], 0
je 0x43f02e
call fcn.0043e8fa
mov eax, dword [esp + 0x24]
test eax, eax
je 0x43ee71
mov dword [0x5f9ef4], ebx
jmp 0x43ee71