Function at 0x59144dad
Capabilities:
Write file on windows

Disassembly:
push 0x1f
push 0x591d8730
push 0xffffffffffffffff
push ecx
xor esi, esi
push esi
push esi
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov word [0x591d876c], si
mov eax, 0x102
jmp 0x59144f02
inc dword [0x591d871c]
jmp 0x59144ee6
mov eax, 0x11a
jmp 0x59144f02
dec esi
sub edi, 4
mov eax, dword [edi]
lea edx, [eax + eax]
movsx eax, word [edx + 0x59143fc8]
jmp 0x59144e6f
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
xor eax, eax
push edi
inc eax
xor edi, edi
cmp dword [0x591d8718], edi
mov dword [ebx], eax
jne 0x5915a11d
mov ecx, dword [0x591e87d4]
mov al, byte [0x591e87cc]
mov byte [ecx], al
mov eax, dword [0x591e87d8]
mov esi, ecx
mov dword [0x591d87c0], eax
mov dword [0x591d87bc], 0x591d87c4
movzx edx, byte [esi]
mov dl, byte [edx*4 + 0x59144188]
mov byte [ebp - 1], dl
movzx edx, dl
lea edi, [eax + eax]
movsx ebx, word [edi + 0x59144588]
add ebx, edx
movsx ebx, word [ebx*2 + 0x59144b60]
cmp ebx, eax
jne 0x59145178
movsx eax, word [eax*2 + 0x59144588]
movzx edx, byte [ebp - 1]
add eax, edx
movsx eax, word [eax*2 + 0x59144928]
mov edx, dword [0x591d87bc]
add dword [0x591d87bc], 4
inc esi
cmp eax, 0xde
mov dword [edx], eax
jne 0x59144df0
mov ebx, dword [0x591e87d0]
mov edi, dword [0x591d87bc]
sub edi, 4
mov eax, dword [edi]
lea edx, [eax + eax]
movsx eax, word [edx + 0x59143fc8]
mov dword [0x591d87bc], edi
mov dword [0x591d87b4], eax
test eax, eax
je 0x59144d98
movsx edx, word [edx + 0x59143fca]
cmp eax, edx
jge 0x59144d98
mov edx, esi
sub edx, ecx
mov dword [0x591d87b4], eax
movsx eax, word [eax*2 + 0x59144f10]
cmp eax, 0x3f
mov dword [0x591d87b0], ecx
mov dword [0x591e87c8], edx
mov cl, byte [esi]
mov byte [0x591e87cc], cl
mov byte [esi], 0
mov ecx, dword [0x591d87b0]
mov dword [0x591d87bc], edi
mov dword [0x591d87b8], esi
mov dword [0x591e87d4], esi
je 0x59144eee
mov edx, dword [0x591e87c8]
and dword [ebp - 8], 0
test edx, edx
jle 0x59144eee
mov edi, dword [ebp - 8]
cmp byte [ecx + edi], 0xa
je 0x5914357d
inc dword [ebp - 8]
cmp dword [ebp - 8], edx
jl 0x59144ed9
dec eax
cmp eax, 0x41
ja case.default.0x59144ef8
jmp dword [eax*4 + 0x59146b89]
movzx eax, byte [ecx]
pop edi
pop esi
pop ebx
leave
ret 4
movsx eax, word [edi + 0x59144758]
cmp eax, 0xdf
jl 0x59145190
mov dl, byte [edx*4 + 0x591451a0]
mov byte [ebp - 1], dl
movzx edx, byte [ebp - 1]
jmp 0x59144e00
push 0x4000
push dword [0x591e87e4]
call fcn.591478b1
cmp eax, edi
mov dword [0x591e87d0], eax
jne 0x5915a163
mov dword [ebx], edi
jmp case.0x59144ef8.64
mov eax, dword [0x591d87b0]
lea esi, [eax + edi]
mov dword [0x591e87d4], esi
call fcn.59146cde
call fcn.5918deb6
test eax, eax
mov ecx, dword [0x591d87b0]
je 0x59144e4f
inc esi
jmp 0x59144df0
mov dword [0x591e87d8], 3
jmp case.0x59144ef8.56
mov dword [0x591e87d8], 5
jmp case.0x59144ef8.56
mov dword [0x591e87d8], 1
jmp case.0x59144ef8.56
push dword [0x591e8c44]
push 1
push dword [0x591e87c8]
push ecx
call dword [sym.imp.MSVCR80.dll_fwrite]
add esp, 0x10
jmp case.0x59144ef8.56
mov eax, 0x10a
jmp 0x59144f02
mov eax, 0x10d
jmp 0x59144f02
mov eax, 0x10f
jmp 0x59144f02
mov eax, 0x110
jmp 0x59144f02
mov eax, 0x111
jmp 0x59144f02
mov eax, 0x112
jmp 0x59144f02
mov eax, 0x113
jmp 0x59144f02
mov eax, 0x116
jmp 0x59144f02
mov eax, 0x117
jmp 0x59144f02
mov eax, 0x118
jmp 0x59144f02
mov eax, 0x12e
jmp 0x59144f02
mov eax, 0x12d
jmp 0x59144f02
mov eax, 0x128
jmp 0x59144f02
mov eax, 0x11c
jmp 0x59144f02
mov eax, 0x11e
jmp 0x59144f02
mov eax, 0x125
jmp 0x59144f02
mov eax, 0x126
jmp 0x59144f02
mov eax, 0x127
jmp 0x59144f02
mov eax, 0x134
jmp 0x59144f02
mov eax, 0x12a
jmp 0x59144f02
inc ecx
push 0x10
push 0
push ecx
call dword [sym.imp.MSVCR80.dll_strtol]
add esp, 0xc
jmp 0x59146ccf
add ecx, 2
jmp 0x59146b51
and dword [0x591d871c], 0
push 0x59146c94
mov dword [0x591d87b0], 0x59179200
call fcn.5918de63
jmp 0x5914d328
push ecx
call dword [sym.imp.MSVCR80.dll_atoi]
pop ecx
mov dword [0x591d8730], eax
mov eax, 0x103
jmp 0x59144f02
mov al, byte [0x591e87cc]
mov edi, esi
sub edi, ecx
dec edi
mov byte [esi], al
cmp dword [ebx + 0x24], 0
je 0x591478f9
mov eax, dword [ebx + 4]
add eax, dword [0x591e87dc]
cmp dword [0x591e87d4], eax
jbe 0x59146a12
call fcn.59146db6
cmp eax, 0xffffffff
je 0x5914d328
test eax, eax
je 0x59147695
cmp eax, 1
jne 0x59147248
and dword [0x591e87e8], 0
mov eax, dword [0x591e87d8]
mov ecx, dword [0x591d87b0]
mov ebx, dword [0x591e87d0]
dec eax
cdq
sub eax, edx
sar eax, 1
mov dword [0x591e87d4], ecx
add eax, 0x40
jmp 0x59144eee
cmp eax, 2
jne case.0x59144ef8.56
mov ebx, dword [0x591e87d0]
mov esi, dword [ebx + 4]
add esi, dword [0x591e87dc]
mov dword [0x591e87d4], esi
call fcn.59146cde
mov ecx, dword [0x591d87b0]
jmp 0x59144e4f
xor eax, eax
jmp 0x59144f02
mov eax, pe_nt_image_headers32
jmp 0x59144f02
mov eax, 0x114
jmp 0x59144f02
mov eax, 0x115
jmp 0x59144f02
push ecx
call fcn.5914756e
mov dword [0x591d8730], eax
mov eax, 0x104
jmp 0x59144f02
mov eax, dword [0x591d87b0]
lea esi, [eax + edi]
mov dword [0x591e87d4], esi
call fcn.59146cde
mov ecx, dword [0x591d87b0]
jmp 0x59144df0
mov eax, dword [ebx + 0x10]
mov dword [0x591e87dc], eax
mov eax, dword [0x591e87e4]
mov dword [ebx], eax
mov dword [ebx + 0x24], 1
jmp 0x59146e7d
mov eax, 0x119
jmp 0x59144f02
mov eax, 0x10c
jmp 0x59144f02
mov eax, 0x109
jmp 0x59144f02
mov eax, 0x107
jmp 0x59144f02
mov eax, 0x11d
jmp 0x59144f02
mov eax, 0x122
jmp 0x59144f02
mov eax, 0x124
jmp 0x59144f02
mov eax, 0x106
jmp 0x59144f02
mov eax, 0x120
jmp 0x59144f02
mov eax, 0x11f
jmp 0x59144f02
mov eax, 0x121
jmp 0x59144f02
mov eax, 0x129
jmp 0x59144f02
mov eax, 0x12f
jmp 0x59144f02
mov eax, 0x133
jmp 0x59144f02
mov eax, 0x130
jmp 0x59144f02
mov eax, 0x12b
jmp 0x59144f02
mov eax, 0x11b
jmp 0x59144f02
mov eax, 0x132
jmp 0x59144f02
mov eax, 0x131
jmp 0x59144f02
mov eax, 0x12c
jmp 0x59144f02
mov eax, dword [ebp + 8]
and dword [eax], 0
jmp case.0x59144ef8.64
mov eax, 0x123
jmp 0x59144f02
mov eax, 0x10e
jmp 0x59144f02
push 0x591512b0
push 0x1f
push 0x591d8730
call fcn.59126a01
mov eax, 0x105
jmp 0x59144f02
mov eax, 0x10b
jmp 0x59144f02
cmp dword [0x591e87d8], edi
mov dword [0x591d8718], edi
jne 0x5915a130
mov dword [0x591e87d8], eax
cmp dword [0x591e87e4], edi
mov esi, dword [sym.imp.MSVCR80.dll___iob_func]
jne 0x5915a145
call esi
mov dword [0x591e87e4], eax
cmp dword [0x591e8c44], edi
jne 0x5915a157
call esi
add eax, 0x20
mov dword [0x591e8c44], eax
cmp dword [0x591e87d0], edi
je 0x591469ee
call fcn.59146f00
jmp case.0x59144ef8.56