Function at 0x4b1ec0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x45a8
call fcn.00611bb0
push esi
push edi
push ecx
lea edi, [ebp - 0x45a8]
mov ecx, 0x116a
mov eax, 0xcccccccc
rep stosd dword es:[edi], eax
pop ecx
mov eax, dword [0x730b1c]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 8], ecx
cmp dword [ebp + 0x14], 3
je 0x4b1f0c
cmp dword [ebp + 0x14], 2
je 0x4b1f0c
cmp dword [ebp + 0x14], 1
je 0x4b1f0c
mov eax, 0x10000
jmp 0x4b2422
cmp dword [ebp + 0x14], 3
jne 0x4b2006
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
cmp ecx, dword [eax + 4]
je 0x4b1fac
mov edx, dword [ebp - 8]
cmp dword [edx + 4], 0xffffffff
je 0x4b1f3c
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call fcn.004afbd0
add esp, 4
mov edx, dword [ebp - 8]
mov dword [edx + 4], 0xffffffff
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 4]
jl 0x4b1f5d
mov eax, 0x10000
jmp 0x4b2422
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov edx, dword [ebp + 8]
cmp edx, dword [ecx + 0x10]
jge 0x4b1f78
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call fcn.004afb30
add esp, 4
mov edx, dword [ebp - 8]
mov eax, dword [edx]
mov ecx, dword [eax + 0x10]
cmp ecx, dword [ebp + 8]
jge 0x4b1f95
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
call fcn.004b0640
add esp, 4
jmp 0x4b1f78
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
call fcn.004b0c50
add esp, 4
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov dword [eax + 4], ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
call fcn.004b0eb0
add esp, 0xc
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jle 0x4b1fd5
mov eax, 0x600
jmp 0x4b2422
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call fcn.004afbd0
add esp, 4
mov edx, dword [ebp - 8]
mov dword [edx + 4], 0xffffffff
cmp dword [ebp - 0xc], 0
jne 0x4b1ffc
xor eax, eax
jmp 0x4b2422
mov eax, 0x5000000
jmp 0x4b2422
mov eax, dword [ebp - 8]
cmp dword [eax + 4], 0xffffffff
je 0x4b201d
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
call fcn.004afbd0
add esp, 4
mov eax, dword [ebp - 8]
mov dword [eax + 4], 0xffffffff
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 4]
jl 0x4b203e
mov eax, 0x10000
jmp 0x4b2422
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 0x10]
jge 0x4b2059
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
call fcn.004afb30
add esp, 4
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x10]
cmp edx, dword [ebp + 8]
jge 0x4b2076
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call fcn.004b0640
add esp, 4
jmp 0x4b2059
lea edx, [ebp - 0x13c]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 8]
call fcn.004b14a0
mov ecx, dword [ebp - 0x34]
and ecx, 0x10
je 0x4b20d9
cmp dword [ebp + 0x14], 1
jne 0x4b209e
xor eax, eax
jmp 0x4b2422
push 0x103
lea edx, [ebp - 0x34c]
push edx
lea eax, [ebp - 0x138]
push eax
call fcn.004aeee0
add esp, 0xc
lea ecx, [ebp - 0x34c]
push ecx
mov edx, dword [ebp - 8]
add edx, 0x138
push edx
call fcn.004b2510
add esp, 8
xor eax, eax
jmp 0x4b2422
cmp dword [ebp + 0x14], 1
jne 0x4b20ed
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x354], eax
jmp 0x4b22ca
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x358], ecx
mov edx, dword [ebp - 0x358]
mov dword [ebp - 0x35c], edx
mov eax, dword [ebp - 0x35c]
movzx ecx, word [eax]
test ecx, ecx
je 0x4b214b
mov edx, dword [ebp - 0x35c]
movzx eax, word [edx]
cmp eax, 0x2f
je 0x4b212b
mov ecx, dword [ebp - 0x35c]
movzx edx, word [ecx]
cmp edx, 0x5c
jne 0x4b213a
mov eax, dword [ebp - 0x35c]
add eax, 2
mov dword [ebp - 0x358], eax
mov ecx, dword [ebp - 0x35c]
add ecx, 2
mov dword [ebp - 0x35c], ecx
jmp 0x4b2102
mov edx, dword [ebp - 0x358]
cmp edx, dword [ebp + 0xc]
je 0x4b22a0
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x568]
push ecx
call fcn.00640be0
add esp, 8
mov edx, dword [ebp - 0x358]
sub edx, dword [ebp + 0xc]
sar edx, 1
lea eax, [edx + edx - 2]
mov dword [ebp - 0x459c], eax
cmp dword [ebp - 0x459c], 0x208
jae 0x4b2190
jmp 0x4b2195
call fcn.00610f60
xor ecx, ecx
mov edx, dword [ebp - 0x459c]
mov word [ebp + edx - 0x568], cx
mov eax, 2
imul ecx, eax, 0
movzx edx, word [ebp + ecx - 0x568]
cmp edx, 0x2f
je 0x4b21f0
mov eax, 2
imul ecx, eax, 0
movzx edx, word [ebp + ecx - 0x568]
cmp edx, 0x5c
je 0x4b21f0
mov eax, 2
shl eax, 0
movzx ecx, word [ebp + eax - 0x568]
cmp ecx, 0x3a
je 0x4b21f0
mov dword [ebp - 0x45a0], 0
jmp 0x4b21fa
mov dword [ebp - 0x45a0], 1
mov dl, byte [ebp - 0x45a0]
mov byte [ebp - 0x56d], dl
push 0x67dff0
lea eax, [ebp - 0x568]
push eax
call fcn.0040be80
add esp, 8
test eax, eax
je 0x4b222a
mov dword [ebp - 0x45a4], 1
jmp 0x4b2234
mov dword [ebp - 0x45a4], 0
push 0x67dff8
lea ecx, [ebp - 0x568]
push ecx
call fcn.0040be80
add esp, 8
test eax, eax
je 0x4b2258
mov dword [ebp - 0x45a8], 1
jmp 0x4b2262
mov dword [ebp - 0x45a8], 0
movzx edx, byte [ebp - 0x56d]
mov eax, dword [ebp - 0x45a4]
or eax, dword [ebp - 0x45a8]
or edx, eax
mov byte [ebp - 0x56d], dl
movzx ecx, byte [ebp - 0x56d]
test ecx, ecx
jne 0x4b22a0
lea edx, [ebp - 0x568]
push edx
mov eax, dword [ebp - 8]
add eax, 0x138
push eax
call fcn.004b2510
add esp, 8
mov esi, esp
push 0
mov ecx, dword [ebp - 0x34]
push ecx
push 2
push 0
push 0
push 0x40000000
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x354], eax
cmp dword [ebp - 0x354], 0xffffffff
jne 0x4b22dd
mov eax, 0x200
jmp 0x4b2422
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call fcn.004b0c50
add esp, 4
mov byte [ebp - 0x4579], 0
push 0x4000
lea edx, [ebp - 0x4574]
push edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
call fcn.004b0eb0
add esp, 0xc
mov dword [ebp - 0x4580], eax
cmp dword [ebp - 0x4580], 0
jge 0x4b2324
mov byte [ebp - 0x4579], 1
jmp 0x4b2379
cmp dword [ebp - 0x4580], 0
jne 0x4b232f
jmp 0x4b2379
mov esi, esp
push 0
lea edx, [ebp - 0x4588]
push edx
mov eax, dword [ebp - 0x4580]
push eax
lea ecx, [ebp - 0x4574]
push ecx
mov edx, dword [ebp - 0x354]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x4590], eax
cmp dword [ebp - 0x4590], 0
jne 0x4b2374
mov byte [ebp - 0x4579], 1
jmp 0x4b2379
jmp 0x4b22f2
mov byte [ebp - 0x4591], 0
mov esi, esp
mov eax, dword [ebp - 0x354]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp esi, esp
call fcn.00611b50
mov dword [ebp - 0x4598], eax
cmp dword [ebp - 0x4598], 1
jne 0x4b23b7
movzx ecx, byte [ebp - 0x4579]
test ecx, ecx
jne 0x4b23b7
mov byte [ebp - 0x4591], 1
movzx edx, byte [ebp - 0x4591]
test edx, edx
je 0x4b23e4
mov esi, esp
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x30]
push ecx
lea edx, [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x354]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileTime]
cmp esi, esp
call fcn.00611b50
cmp dword [ebp + 0x14], 1
je 0x4b2400
mov esi, esp
mov ecx, dword [ebp - 0x354]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, esp
call fcn.00611b50
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
call fcn.004afbd0
add esp, 4
movzx ecx, byte [ebp - 0x4579]
test ecx, ecx
je 0x4b2420
mov eax, 0x400
jmp 0x4b2422
xor eax, eax
push edx
mov ecx, ebp
push eax
lea edx, [0x4b2454]
call fcn.00611af0
pop eax
pop edx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00610840
add esp, 0x45a8
cmp ebp, esp
call fcn.00611b50
mov esp, ebp
pop ebp
ret 0x10