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

Disassembly:
push ecx
push ecx
push ebx
push ebp
push esi
push edi
xor ebx, ebx
cmp dword [esp + 0x20], ebx
push ebx
lea eax, [esp + 0x24]
push eax
mov ebp, 0x208
push ebp
mov esi, ecx
push esi
push dword [esp + 0x2c]
je 0x414273
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
call edi
cmp word [esi], bx
je 0x4140a9
push esi
push 0x408100
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea ecx, [esp + 0x24]
push ecx
push ebp
lea eax, [esi + 0x208]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esi + 0x208]
cmp word [eax], bx
je 0x4140dc
push eax
push 0x4080c0
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea ecx, [esp + 0x24]
push ecx
push ebp
lea eax, [esi + 0x410]
push eax
push dword [esp + 0x2c]
call edi
lea eax, [esi + 0x410]
cmp word [eax], bx
je 0x41410f
push eax
push 0x408084
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea ecx, [esp + 0x24]
push ecx
push ebp
mov ebp, dword [esp + 0x28]
lea eax, [esi + 0x618]
push eax
push ebp
call edi
lea eax, [esi + 0x618]
cmp word [eax], bx
je 0x414143
push eax
push 0x408044
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea ecx, [esp + 0x24]
push ecx
push 4
lea eax, [esi + 0x85c]
push eax
push ebp
call edi
mov eax, dword [esi + 0x85c]
cmp eax, ebx
je 0x414173
push eax
push 0x407ff8
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea ecx, [esp + 0x24]
push ecx
push 4
lea eax, [esi + 0x864]
push eax
push ebp
call edi
mov eax, dword [esi + 0x864]
cmp eax, ebx
je 0x4141a3
push eax
push 0x407fb0
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea ecx, [esp + 0x24]
push ecx
push 4
lea eax, [esi + 0x86c]
push eax
push ebp
call edi
mov eax, dword [esi + 0x86c]
cmp eax, ebx
je 0x4141d3
push eax
push 0x407f74
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea ecx, [esp + 0x24]
push ecx
push 4
lea eax, [esi + 0x874]
push eax
push ebp
call edi
mov eax, dword [esi + 0x874]
cmp eax, ebx
je 0x414203
push eax
push 0x407f38
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea eax, [esp + 0x24]
push eax
mov eax, dword [esi + 0x85c]
imul eax, eax, 0xac
push eax
push dword [esi + 0x860]
push ebp
call edi
push ebx
lea eax, [esp + 0x24]
push eax
mov eax, dword [esi + 0x864]
imul eax, eax, 0x1d0
push eax
push dword [esi + 0x868]
push ebp
call edi
push ebx
lea eax, [esp + 0x24]
push eax
mov eax, dword [esi + 0x86c]
imul eax, eax, 0x16
push eax
push dword [esi + 0x870]
push ebp
call edi
push ebx
lea eax, [esp + 0x24]
push eax
mov eax, dword [esi + 0x874]
imul eax, eax, 0xa6
push eax
push dword [esi + 0x878]
push ebp
jmp 0x414545
mov edi, dword [sym.imp.KERNEL32.dll_ReadFile]
call edi
test eax, eax
jne 0x414282
mov word [esi], bx
cmp word [esi], bx
je 0x41429b
push esi
push 0x407ef8
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea ecx, [esp + 0x24]
push ecx
push ebp
lea eax, [esi + 0x208]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
jne 0x4142ba
mov word [esi + 0x208], bx
lea eax, [esi + 0x208]
cmp word [eax], bx
je 0x4142d9
push eax
push 0x407ebc
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea ecx, [esp + 0x24]
push ecx
push ebp
lea eax, [esi + 0x410]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
jne 0x4142f8
mov word [esi + 0x410], bx
lea eax, [esi + 0x410]
cmp word [eax], bx
je 0x414317
push eax
push 0x407e84
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea ecx, [esp + 0x24]
push ecx
push ebp
lea eax, [esi + 0x618]
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
jne 0x414336
mov word [esi + 0x618], bx
lea eax, [esi + 0x618]
cmp word [eax], bx
je 0x414355
push eax
push 0x407e48
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea eax, [esp + 0x24]
push eax
push 4
lea ebp, [esi + 0x85c]
push ebp
push dword [esp + 0x2c]
call edi
test eax, eax
jne 0x414371
mov dword [ebp], ebx
mov ebp, dword [ebp]
cmp ebp, ebx
je 0x41438c
push ebp
push 0x407e00
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea eax, [esp + 0x24]
push eax
push 4
lea ebp, [esi + 0x864]
push ebp
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x4143c0
mov ebp, dword [ebp]
cmp ebp, ebx
je 0x4143c0
push ebp
push 0x407db8
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea eax, [esp + 0x24]
push eax
push 4
lea ebp, [esi + 0x86c]
push ebp
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x4143f4
mov ebp, dword [ebp]
cmp ebp, ebx
je 0x4143f4
push ebp
push 0x407d78
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
lea eax, [esp + 0x24]
push eax
push 4
lea ebp, [esi + 0x874]
push ebp
push dword [esp + 0x2c]
call edi
test eax, eax
je 0x414428
mov ebp, dword [ebp]
cmp ebp, ebx
je 0x414428
push ebp
push 0x407d3c
push 0x418360
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov ebp, dword [esi + 0x85c]
imul ebp, ebp, 0xac
cmp ebp, ebx
je 0x414473
push ebp
push dword [esi + 0x860]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
cmp eax, ebx
je 0x41454c
push ebx
lea ecx, [esp + 0x24]
push ecx
push ebp
push eax
push dword [esp + 0x2c]
mov dword [esi + 0x860], eax
call edi
test eax, eax
jne 0x414473
mov dword [esi + 0x860], ebx
mov eax, dword [esi + 0x864]
imul eax, eax, 0x1d0
cmp eax, ebx
mov dword [esp + 0x10], eax
je 0x4144c3
push eax
lea ebp, [esi + 0x868]
push dword [ebp]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
cmp eax, ebx
je 0x41454c
push ebx
lea ecx, [esp + 0x24]
push ecx
push dword [esp + 0x18]
mov dword [ebp], eax
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
jne 0x4144c3
mov dword [esp + 0x20], ebx
mov eax, dword [esi + 0x86c]
imul eax, eax, 0x16
cmp eax, ebx
mov dword [esp + 0x10], eax
je 0x41450c
push eax
lea ebp, [esi + 0x870]
push dword [ebp]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
cmp eax, ebx
je 0x41454c
push ebx
lea ecx, [esp + 0x24]
push ecx
push dword [esp + 0x18]
mov dword [ebp], eax
push eax
push dword [esp + 0x2c]
call edi
test eax, eax
jne 0x41450c
mov dword [esp + 0x20], ebx
mov ebp, dword [esi + 0x874]
imul ebp, ebp, 0xa6
cmp ebp, ebx
je 0x414547
push ebp
add esi, 0x878
push dword [esi]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
cmp eax, ebx
je 0x41454c
push ebx
lea ecx, [esp + 0x24]
push ecx
push ebp
push eax
push dword [esp + 0x2c]
mov dword [esi], eax
call edi
xor eax, eax
inc eax
jmp 0x41454e
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
pop ecx
pop ecx
ret 8