Function at 0x4018f0
Capabilities:
Enumerate pe sections
Write file on windows

Disassembly:
sub esp, 0x1b8
push ebx
push ebp
push esi
push edi
push 2
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebp, eax
test ebp, ebp
jne 0x40191d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.Error__lu_de_asignaci
jmp 0x401c43
mov ecx, dword [esp + 0x1d0]
xor esi, esi
mov dword [esp + 0x10], esi
fld qword [ecx + 8]
fst qword [esp + 0x18]
fcomp qword [0x4020e0]
fnstsw ax
test ah, 0x40
jne 0x401a2c
mov edx, dword [ecx + 0x14]
mov eax, dword [ecx + 0x10]
push edx
mov edx, dword [ecx + 0x1c]
push eax
mov eax, dword [ecx + 0x18]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
push edx
push eax
xor edx, edx
xor eax, eax
mov dx, word [ecx + 6]
mov ax, word [ecx + 4]
push edx
mov esi, dword [sym.imp.MSVCRT.dll_sprintf]
push eax
xor edx, edx
movsx eax, word [ecx]
mov dx, word [ecx + 2]
lea ecx, [esp + 0xe0]
push edx
push eax
push str._04hu__02hu__02hu_1hu_011.0f_011.3f_011.3f_n
push ecx
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
add esp, 0x30
lea edx, [esp + 0xc0]
push 2
push edx
call ebx
add eax, 2
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalReAlloc]
mov edi, eax
test edi, edi
jne 0x4019fb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebp
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push edi
lea eax, [esp + 0x104]
push str.Error__lu_de_asignaci
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x100]
push 0
push ecx
push str.C.G.I._RPCCobros
push 0x3ea
push 1
call dword [sym.imp.Btel.dll__ReportBackTpvEvent_20]
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret
lea edx, [esp + 0xc0]
mov ebp, edi
push edx
call ebx
mov ecx, eax
lea esi, [esp + 0xc0]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xc0]
push ecx
call ebx
mov dword [esp + 0x10], eax
mov esi, eax
mov ecx, 0x20
xor eax, eax
lea edi, [esp + 0x40]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
push eax
push edx
lea eax, [esp + 0x48]
push 0x80
push eax
push 0xfffffffffffffff5
mov word [esp + 0x54], 1
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x401a7a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebp
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
push str.Error__lu_al_escribir_registro_de_resultados_del_unnamed_pipe
jmp 0x401aa1
mov eax, dword [esp + 0x1cc]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
test eax, eax
jne 0x401adb
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebp
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
push str.Error__lu_al_se
lea ecx, [esp + 0x108]
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea edx, [esp + 0x100]
push 0
push edx
push str.C.G.I._RPCCobros
push 0x3ea
push 1
call dword [sym.imp.Btel.dll__ReportBackTpvEvent_20]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret
xor ebx, ebx
test esi, esi
jbe 0x401bef
mov ecx, 0x20
xor eax, eax
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
mov eax, esi
mov word [esp + 0x40], 2
sub eax, ebx
cmp eax, 0x7c
jbe 0x401b0b
mov word [esp + 0x42], 0x7c
jmp 0x401b14
mov ecx, esi
sub ecx, ebx
mov word [esp + 0x42], cx
mov edx, dword [esp + 0x42]
lea eax, [ebx + ebp]
and edx, 0xffff
lea ecx, [esp + 0x44]
push edx
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov edx, dword [esp + 0x4e]
mov ecx, dword [0x40329c]
and edx, 0xffff
mov eax, 1
add esp, 0xc
add ebx, edx
cmp ecx, eax
jne 0x401bbf
cmp dword [0x4032a0], eax
jne 0x401b66
mov eax, dword [0x403298]
lea ecx, [esp + 0x20]
push eax
push str._09lu_n
push ecx
jmp 0x401b72
push 0
lea edx, [esp + 0x24]
push str._09lu_n
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0x2c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x42]
lea esi, [esp + 0x20]
not ecx
dec ecx
and eax, 0xffff
mov edx, ecx
lea edi, [esp + eax + 0x43]
xor eax, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x20]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov esi, dword [esp + 0x10]
not ecx
dec ecx
add word [esp + 0x42], cx
lea eax, [esp + 0x14]
push 0
push eax
lea ecx, [esp + 0x48]
push 0x80
push ecx
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x401c7d
cmp ebx, esi
jb 0x401ae5
mov ecx, 0x20
xor eax, eax
lea edi, [esp + 0x40]
push eax
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x18]
lea edx, [esp + 0x44]
push ecx
push 0x80
push edx
push 0xfffffffffffffff5
mov word [esp + 0x54], 3
mov dword [esp + 0x56], eax
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x401ccc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebp
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
push str.Error__lu_al_escribir_registro_de_resultados_del_unnamed_pipe
lea eax, [esp + 0x108]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea ecx, [esp + 0x100]
push 0
push ecx
push str.C.G.I._RPCCobros
push 0x3ea
push 1
call dword [sym.imp.Btel.dll__ReportBackTpvEvent_20]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebp
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
lea edx, [esp + 0x104]
push str.Error__lu_al_escribir_registro_de_resultados_del_unnamed_pipe
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea eax, [esp + 0x100]
push 0
push eax
push str.C.G.I._RPCCobros
push 0x3ea
push 1
call dword [sym.imp.Btel.dll__ReportBackTpvEvent_20]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1b8
ret
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1b8
ret