Function at 0x41a910
Capabilities:
Write file on windows

Disassembly:
push 0x38c
mov eax, 0x5a519e
call fcn.0056e4fe
mov ebx, ecx
mov dword [ebp - 0x194], ebx
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x1bc]
push eax
call fcn.0041963b
mov esi, dword [ebp - 0x1b8]
xor edi, edi
mov edx, dword [ebp - 0x1bc]
mov eax, esi
mov dword [ebp - 4], edi
cmp edx, eax
je 0x41a95f
mov ecx, dword [edx]
cmp dword [ecx + 0xe8], 1
je 0x41a95f
add edx, 4
cmp edx, esi
jne 0x41a94d
cmp edx, esi
je 0x41a99c
lea ecx, [edx + 4]
cmp ecx, esi
je 0x41a987
mov esi, dword [ecx]
cmp dword [esi + 0xe8], 1
je 0x41a97a
mov dword [edx], esi
add edx, 4
add ecx, 4
cmp ecx, eax
jne 0x41a96a
mov esi, dword [ebp - 0x1b8]
cmp edx, eax
je 0x41a99c
push edx
push esi
push eax
call fcn.0040bd9f
add esp, 0xc
mov dword [ebp - 0x1b8], eax
push edi
lea eax, [ebp - 0x1bc]
push 5
push eax
call fcn.0042a526
add esp, 0xc
lea eax, [ebp - 0x190]
mov ecx, 0x62bae8
push eax
call fcn.00405ee6
push 0x5c0860
push eax
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 1
push eax
call fcn.00405b8d
add esp, 0xc
push dword [eax]
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 2
call fcn.004047dc
mov ecx, dword [ebp - 0x18c]
lea ecx, [ecx - 0x10]
call fcn.00405472
mov ecx, dword [ebp - 0x190]
mov byte [ebp - 4], 5
lea ecx, [ecx - 0x10]
call fcn.00405472
push edi
push 1
lea ecx, [ebp - 0x398]
call fcn.00447700
lea ecx, [ebp - 0x188]
call fcn.00404c17
push 3
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 7
push 0x5c0878
push eax
call fcn.0041a367
mov edi, dword [ebp - 0x188]
lea ecx, [ebp - 0x398]
add esp, 0xc
push 0xffffffffffffffff
push edi
call fcn.00449cc0
push 0
lea ecx, [ebp - 0x398]
call fcn.00448f30
xor esi, esi
mov dword [ebp - 0x18c], eax
and dword [ebp - 0x1a0], esi
xor eax, eax
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x1a4], esi
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x19c], eax
mov byte [ebp - 4], 8
cmp byte [ebp + 0xc], al
jne 0x41ab99
mov eax, dword [ebx + 4]
mov dword [ebp - 0x190], eax
mov esi, dword [eax]
cmp esi, eax
je 0x41ab93
mov edi, dword [ebp - 0x1a0]
and dword [ebp - 0x184], 0
lea ebx, [esi + 8]
and dword [ebp - 0x174], 0
lea ecx, [ebp - 0x184]
and dword [ebp - 0x170], 0
push ebx
call fcn.004062c0
mov ecx, dword [ebx + 0x18]
mov dword [ebp - 0x16c], ecx
mov byte [ebp - 4], 9
call fcn.0041b70e
test al, al
je 0x41ab60
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ecx]
cmp dword [eax - 0xc], 0
je 0x41ab60
xor eax, eax
cmp dword [ecx + 8], eax
jbe 0x41ab60
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x184]
push eax
call fcn.004062c0
mov eax, dword [ebp - 0x16c]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xa
push eax
cmp edi, dword [ebp - 0x198]
je 0x41ab3a
mov ecx, edi
call fcn.0041a1a0
add edi, 0x1c
mov dword [ebp - 0x1a0], edi
jmp 0x41ab58
push edi
lea ecx, [ebp - 0x1a4]
call fcn.00419ce0
mov eax, dword [ebp - 0x19c]
mov edi, dword [ebp - 0x1a0]
mov dword [ebp - 0x198], eax
lea ecx, [ebp - 0x30]
call fcn.00404940
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 8
call fcn.00404940
mov eax, dword [esi]
mov esi, eax
cmp eax, dword [ebp - 0x190]
jne 0x41aaa8
mov esi, dword [ebp - 0x1a4]
mov edi, dword [ebp - 0x188]
mov dword [ebp - 0x1a8], esi
jmp 0x41ab99
mov esi, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x190], eax
mov dword [ebp - 0x1b0], ecx
cmp eax, ecx
je 0x41acba
mov edi, dword [ebp - 0x194]
mov esi, dword [eax]
test esi, esi
je 0x41ac9d
mov ecx, esi
call fcn.0042cd4a
mov ecx, esi
mov ebx, eax
call fcn.0042cf56
mov ecx, eax
call fcn.0042fb34
lea ecx, [ebp - 0x2c]
push dword [eax]
call fcn.004047dc
lea eax, [ebp - 0x1c0]
mov byte [ebp - 4], 0xb
push eax
mov ecx, ebx
call fcn.00427705
push dword [eax]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0xc
call fcn.004047dc
mov ecx, dword [ebp - 0x1c0]
mov byte [ebp - 4], 0xe
lea ecx, [ecx - 0x10]
call fcn.00405472
lea eax, [ebp - 0x1ac]
mov ecx, ebx
push eax
call fcn.0042764a
push dword [eax]
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 0xf
call fcn.004047dc
mov ecx, dword [ebp - 0x1ac]
mov byte [ebp - 4], 0x11
lea ecx, [ecx - 0x10]
call fcn.00405472
mov ecx, ebx
call fcn.00427590
mov ecx, ebx
mov esi, eax
call fcn.00427720
push eax
push esi
lea eax, [ebp - 0x48]
mov ecx, edi
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x18c]
call fcn.0041b724
lea ecx, [ebp - 0x48]
call fcn.00404940
lea ecx, [ebp - 0x60]
call fcn.00404940
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.00404940
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x1b0]
add eax, 4
mov dword [ebp - 0x190], eax
cmp eax, ecx
jne 0x41abbf
mov edi, dword [ebp - 0x188]
mov esi, dword [ebp - 0x1a8]
mov ebx, dword [ebp - 0x1a0]
mov eax, esi
cmp eax, ebx
je 0x41ada3
mov edi, esi
xor eax, eax
lea ecx, [ebp - 0x184]
push edi
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], eax
call fcn.004062c0
mov eax, dword [edi + 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.004047dc
mov eax, dword [ebp - 0x16c]
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 0x13
push dword [eax]
call fcn.004047dc
mov eax, dword [ebp - 0x16c]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x14
push dword [eax + 4]
call fcn.004047dc
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x194]
mov byte [ebp - 4], 0x15
push dword [eax + 8]
lea eax, [ebp - 0x2c]
push 0
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x48]
push eax
push dword [ebp - 0x18c]
call fcn.0041b724
lea ecx, [ebp - 0x2c]
call fcn.00404940
lea ecx, [ebp - 0x60]
call fcn.00404940
lea ecx, [ebp - 0x48]
call fcn.00404940
lea ecx, [ebp - 0x184]
mov byte [ebp - 4], 8
call fcn.00404940
add edi, 0x1c
cmp edi, ebx
jne 0x41accc
mov edi, dword [ebp - 0x188]
xor eax, eax
mov byte [ebp - 4], 0x16
push eax
push eax
push eax
lea ecx, [ebp - 0x168]
call fcn.00447940
lea eax, [ebp - 0x168]
mov byte [ebp - 4], 0x17
push eax
lea ecx, [ebp - 0x398]
call fcn.00448140
push dword [ebp - 0x98]
lea ecx, [ebp - 0x2c]
call fcn.00404c3e
push 1
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0x48]
push eax
call fcn.0041d95f
add esp, 0xc
cmp dword [ebp - 0x64], 8
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x19
cmovae eax, dword [ebp - 0x78]
xor ecx, ecx
push ecx
push 0x80
push 2
push ecx
push ecx
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ecx, eax
mov dword [ebp - 0x1ac], ecx
cmp ecx, 0xffffffff
je 0x41af4f
and dword [ebp - 0x1b0], 0
lea edx, [ebp - 0x1b0]
cmp dword [ebp - 0x34], 0x10
lea eax, [ebp - 0x48]
push 0
cmovae eax, dword [ebp - 0x48]
push edx
push dword [ebp - 0x38]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push dword [ebp - 0x1ac]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x48]
call fcn.004055c3
lea ecx, [ebp - 0x2c]
call fcn.004055c3
lea ecx, [ebp - 0x168]
call fcn.00418fd2
jmp 0x41aeb3
push 0x1c
pop ecx
test esi, esi
je 0x41af21
cmp esi, ebx
je 0x41aed6
mov edi, esi
mov ecx, edi
call fcn.00404940
push 0x1c
pop ecx
add edi, ecx
cmp edi, ebx
jne 0x41aec0
mov edi, dword [ebp - 0x188]
mov eax, dword [ebp - 0x198]
sub eax, esi
mov dword [ebp - 0x18c], esi
cdq
idiv ecx
imul eax, eax, 0x1c
mov dword [ebp - 0x194], eax
cmp eax, 0x1000
jb 0x41af18
lea eax, [ebp - 0x194]
push eax
lea eax, [ebp - 0x18c]
push eax
call fcn.004048ce
mov eax, dword [ebp - 0x194]
mov esi, dword [ebp - 0x18c]
pop ecx
pop ecx
push eax
push esi
call fcn.0056e411
pop ecx
pop ecx
lea ecx, [edi - 0x10]
call fcn.00405472
lea ecx, [ebp - 0x398]
call fcn.00447b10
lea ecx, [ebp - 0x78]
call fcn.00404940
lea ecx, [ebp - 0x1bc]
call fcn.004105c6
call fcn.0056e450
ret 8
push 0x5c08d0
lea ecx, [ebp - 0x1cc]
call fcn.0041a25b
push 0x60c65c
lea eax, [ebp - 0x1cc]
push eax
call fcn.00570fbc
int3