Function at 0x5379c0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x414
push ebx
push esi
push edi
mov eax, dword [ebp + 8]
mov edx, eax
mov ecx, dword [0x7da170]
cmp edx, ecx
jae 0x5379f7
mov edx, eax
and edx, 0x1f
imul edx, edx, 0x24
sar eax, 5
mov eax, dword [eax*4 + 0x7da174]
movsx eax, byte [eax + edx + 4]
and eax, 1
jne 0x537a0a
call fcn.005352c0
mov dword [eax], 9
or eax, 0xffffffff
jmp 0x537bf3
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x537bf3
mov eax, dword [ebp + 8]
mov edx, eax
and edx, 0x1f
imul edx, edx, 0x24
sar eax, 5
mov eax, dword [eax*4 + 0x7da174]
movsx eax, byte [eax + edx + 4]
and eax, 0x20
je 0x537a52
push 2
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.00539380
add esp, 0xc
mov eax, dword [ebp + 8]
mov edx, eax
and edx, 0x1f
imul edx, edx, 0x24
sar eax, 5
mov eax, dword [eax*4 + 0x7da174]
movsx eax, byte [eax + edx + 4]
and eax, 0x80
je 0x537b34
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], 0
jmp 0x537b22
lea edi, [ebp - 0x411]
jmp 0x537aa9
mov eax, esi
inc esi
mov bl, byte [eax]
movsx eax, bl
cmp eax, 0xa
jne 0x537aa4
inc dword [ebp - 4]
mov eax, edi
inc edi
mov byte [eax], 0xd
mov eax, edi
inc edi
mov byte [eax], bl
mov eax, edi
lea edx, [ebp - 0x411]
sub eax, edx
cmp eax, 0x400
jge 0x537ac6
mov eax, esi
mov edx, dword [ebp + 0xc]
sub eax, edx
cmp eax, dword [ebp + 0x10]
jb 0x537a8e
push 0
lea eax, [ebp - 8]
push eax
mov eax, edi
lea edx, [ebp - 0x411]
sub eax, edx
push eax
lea eax, [ebp - 0x411]
push eax
mov eax, dword [ebp + 8]
mov edx, eax
and edx, 0x1f
imul edx, edx, 0x24
sar eax, 5
mov eax, dword [eax*4 + 0x7da174]
mov eax, dword [eax + edx]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x537b17
mov eax, dword [ebp - 8]
add dword [ebp - 0xc], eax
mov edx, edi
lea ecx, [ebp - 0x411]
sub edx, ecx
cmp eax, edx
jge 0x537b22
jmp 0x537b7d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x10], eax
jmp 0x537b7d
mov eax, esi
mov edx, dword [ebp + 0xc]
sub eax, edx
cmp eax, dword [ebp + 0x10]
jb 0x537a86
jmp 0x537b7d
push 0
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push eax
mov eax, dword [ebp + 8]
mov edx, eax
and edx, 0x1f
imul edx, edx, 0x24
sar eax, 5
mov eax, dword [eax*4 + 0x7da174]
mov eax, dword [eax + edx]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x537b74
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
jmp 0x537b7d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0xc], 0
jne 0x537bed
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x537baf
cmp eax, 5
jne 0x537ba0
call fcn.005352c0
mov dword [eax], 9
jmp 0x537baa
mov eax, dword [ebp - 0x10]
push eax
call fcn.00535140
pop ecx
or eax, 0xffffffff
jmp 0x537bf3
mov eax, dword [ebp + 8]
mov edx, eax
and edx, 0x1f
imul edx, edx, 0x24
sar eax, 5
mov eax, dword [eax*4 + 0x7da174]
movsx eax, byte [eax + edx + 4]
and eax, 0x40
je 0x537bdd
mov eax, dword [ebp + 0xc]
movsx eax, byte [eax]
cmp eax, 0x1a
jne 0x537bdd
xor eax, eax
jmp 0x537bf3
call fcn.005352c0
mov dword [eax], 0x1c
or eax, 0xffffffff
jmp 0x537bf3
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret