Function at 0x415402
Capabilities:
Write file on windows

Disassembly:
push 0x380
mov eax, 0x58dcf7
call fcn.0055a742
mov ebx, ecx
mov dword [ebp - 0x190], ebx
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x1ac]
push eax
call fcn.004140d2
mov edi, dword [ebp - 0x1a8]
and dword [ebp - 4], 0
mov esi, dword [ebp - 0x1ac]
mov dword [ebp - 0x188], edi
jmp 0x41544f
mov ecx, dword [esi]
call fcn.00425794
cmp eax, 1
je 0x415453
add esi, 4
cmp esi, edi
jne 0x415440
cmp esi, edi
je 0x4154ab
and dword [ebp - 0x18c], 0
lea ebx, [esi + 4]
sub edi, ebx
xor eax, eax
add edi, 3
shr edi, 2
cmp ebx, dword [ebp - 0x188]
cmova edi, eax
test edi, edi
je 0x41549f
mov ecx, dword [ebx]
call fcn.00425794
cmp eax, 1
je 0x41548b
mov eax, dword [ebx]
mov dword [esi], eax
add esi, 4
mov eax, dword [ebp - 0x18c]
add ebx, 4
inc eax
mov dword [ebp - 0x18c], eax
cmp eax, edi
jne 0x415478
mov ebx, dword [ebp - 0x190]
mov edi, dword [ebp - 0x188]
push edi
push esi
lea eax, [ebp - 0x194]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.00410e13
xor esi, esi
lea eax, [ebp - 0x1ac]
push esi
push 5
push eax
call fcn.00421d7d
add esp, 0xc
lea eax, [ebp - 0x188]
mov ecx, 0x612600
push eax
call fcn.00405c8c
push 0x5a625c
push eax
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 1
push eax
call fcn.0040591e
add esp, 0xc
push dword [eax]
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 2
call fcn.00404778
mov ecx, dword [ebp - 0x18c]
lea ecx, [ecx - 0x10]
call fcn.0040525e
mov ecx, dword [ebp - 0x188]
mov byte [ebp - 4], 5
lea ecx, [ecx - 0x10]
call fcn.0040525e
push esi
push 1
lea ecx, [ebp - 0x38c]
call fcn.00437900
mov byte [ebp - 4], 6
call fcn.00526109
push eax
lea ecx, [ebp - 0x188]
call fcn.004049e5
push 3
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 7
push 0x5a6270
push eax
call fcn.00414ed2
add esp, 0xc
lea ecx, [ebp - 0x38c]
push 0xffffffffffffffff
push dword [ebp - 0x188]
call fcn.00439f10
push esi
lea ecx, [ebp - 0x38c]
call fcn.00439330
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x1a0], esi
mov dword [ebp - 0x19c], esi
mov dword [ebp - 0x198], esi
cmp byte [ebp + 0xc], 0
mov byte [ebp - 4], 8
jne 0x415672
mov edi, dword [ebx + 4]
mov esi, dword [edi]
jmp 0x41566a
and dword [ebp - 0x174], 0
lea ebx, [esi + 8]
and dword [ebp - 0x170], 0
lea ecx, [ebp - 0x184]
push ebx
call fcn.004060b6
mov ecx, dword [ebx + 0x18]
mov dword [ebp - 0x16c], ecx
mov byte [ebp - 4], 9
call fcn.00415fec
test al, al
je 0x415659
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
je 0x415659
cmp dword [ecx + 8], 0
jbe 0x415659
and dword [ebp - 0x20], 0
lea eax, [ebp - 0x184]
and dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x30]
push eax
call fcn.004060b6
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x19c]
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x198], eax
je 0x415641
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x1a0]
call fcn.004147b2
jmp 0x415651
lea ecx, [ebp - 0x30]
push ecx
push eax
lea ecx, [ebp - 0x1a0]
call fcn.004147d9
lea ecx, [ebp - 0x30]
call fcn.00404809
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 8
call fcn.00404809
mov esi, dword [esi]
cmp esi, edi
jne 0x4155b7
mov eax, dword [ebp - 0x1a8]
mov ebx, dword [ebp - 0x1ac]
mov dword [ebp - 0x194], eax
jmp 0x415768
mov esi, dword [ebx]
test esi, esi
je 0x415765
mov ecx, esi
call fcn.00425231
mov ecx, esi
mov edi, eax
call fcn.00425464
mov ecx, eax
call fcn.00426908
lea ecx, [ebp - 0x2c]
push dword [eax]
call fcn.00404778
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0xb
push eax
mov ecx, edi
call fcn.0041e38e
push dword [eax]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xc
call fcn.00404778
mov ecx, dword [ebp - 0x1b0]
mov byte [ebp - 4], 0xe
lea ecx, [ecx - 0x10]
call fcn.0040525e
lea eax, [ebp - 0x1b4]
mov ecx, edi
push eax
call fcn.0041e2d3
push dword [eax]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xf
call fcn.00404778
mov ecx, dword [ebp - 0x1b4]
mov byte [ebp - 4], 0x11
lea ecx, [ecx - 0x10]
call fcn.0040525e
mov ecx, edi
call fcn.0041e210
mov ecx, edi
mov esi, eax
call fcn.0041e3a9
mov ecx, dword [ebp - 0x190]
push eax
push esi
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x18c]
call fcn.004160db
lea ecx, [ebp - 0x48]
call fcn.00404809
lea ecx, [ebp - 0x60]
call fcn.00404809
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.00404809
mov eax, dword [ebp - 0x194]
add ebx, 4
cmp ebx, eax
jne 0x415689
mov esi, dword [ebp - 0x1a0]
xor ebx, ebx
mov edi, dword [ebp - 0x19c]
cmp esi, edi
je 0x41584b
push esi
lea ecx, [ebp - 0x184]
mov dword [ebp - 0x174], ebx
mov dword [ebp - 0x170], ebx
call fcn.004060b6
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x170], 8
lea eax, [ebp - 0x184]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0x12
cmovae eax, dword [ebp - 0x184]
push eax
call fcn.00404778
mov eax, dword [ebp - 0x16c]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x13
push dword [eax]
call fcn.00404778
mov eax, dword [ebp - 0x16c]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x14
push dword [eax + 4]
call fcn.00404778
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x190]
mov byte [ebp - 4], 0x15
push dword [eax + 8]
lea eax, [ebp - 0x2c]
push ebx
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x18c]
call fcn.004160db
lea ecx, [ebp - 0x2c]
call fcn.00404809
lea ecx, [ebp - 0x60]
call fcn.00404809
lea ecx, [ebp - 0x48]
call fcn.00404809
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 8
call fcn.00404809
add esi, 0x1c
jmp 0x41577e
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x16
call fcn.00437b40
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x38c]
call fcn.004384a0
push dword [ebp - 0x98]
lea ecx, [ebp - 0x2c]
call fcn.00404a66
push 1
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0043c670
add esp, 0xc
cmp dword [ebp - 0x64], 8
lea eax, [ebp - 0x78]
push ebx
cmovae eax, dword [ebp - 0x78]
push 0x80
push 2
push ebx
push ebx
push 0x40000000
push eax
mov byte [ebp - 4], 0x19
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x415969
cmp dword [ebp - 0x34], 0x10
lea ecx, [ebp - 0x194]
push ebx
push ecx
push dword [ebp - 0x38]
lea eax, [ebp - 0x48]
mov dword [ebp - 0x194], ebx
cmovae eax, dword [ebp - 0x48]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x48]
call fcn.004053dd
lea ecx, [ebp - 0x2c]
call fcn.004053dd
lea ecx, [ebp - 0x168]
call fcn.004139d6
lea ecx, [ebp - 0x1a0]
call fcn.00415c82
mov ecx, dword [ebp - 0x188]
lea ecx, [ecx - 0x10]
call fcn.0040525e
lea ecx, [ebp - 0x38c]
call fcn.00437ed0
lea ecx, [ebp - 0x78]
call fcn.00404809
lea ecx, [ebp - 0x1ac]
call fcn.00410d53
call fcn.0055a68f
ret 8
push 0x5a62c8
lea ecx, [ebp - 0x1c0]
call fcn.00414dd9
push 0x5f3914
lea eax, [ebp - 0x1c0]
push eax
call fcn.0055e266
int3