Function at 0x481310
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x54b085
mov eax, dword fs:[0]
push eax
sub esp, 0x7cc
mov eax, dword [0x5abcc4]
xor eax, ebp
mov dword [ebp - 0x73c], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x7d0], ecx
cmp dword [ebp + 0xc], 0
jne 0x481356
mov eax, dword [ebp - 0x7d0]
mov ecx, dword [eax + 4]
mov dword [ebp + 0xc], ecx
cmp dword [ebp + 0xc], 0
jne 0x481363
xor eax, eax
jmp 0x481719
mov ecx, dword [ebp + 0xc]
call fcn.00475080
push eax
call fcn.00479520
add esp, 4
mov dword [ebp - 0x738], eax
cmp dword [ebp - 0x738], 0
jne 0x48138a
xor eax, eax
jmp 0x481719
push 0x24
call fcn.00408a60
mov dword [ebp - 0x7c4], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x7c4], 0
je 0x4813ba
mov ecx, dword [ebp - 0x7c4]
call fcn.004733e0
mov dword [ebp - 0x7d4], eax
jmp 0x4813c4
mov dword [ebp - 0x7d4], 0
mov edx, dword [ebp - 0x7d4]
mov dword [ebp - 0x7c0], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x7c0]
mov dword [ebp - 0x334], eax
mov ecx, dword [ebp - 0x738]
push ecx
mov ecx, dword [ebp - 0x334]
call fcn.00473af0
mov ecx, dword [ebp - 0x334]
call fcn.00474c90
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x334]
call fcn.00474cf0
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x334]
call fcn.00474c40
movzx edx, ax
cmp edx, 8
je 0x481431
push 8
mov ecx, dword [ebp - 0x334]
call fcn.004753c0
push 0x80
push 0
lea eax, [ebp - 0x7bc]
push eax
call fcn.00528780
add esp, 0xc
mov byte [ebp - 0x7bc], 0xa
mov byte [ebp - 0x7bb], 5
mov byte [ebp - 0x7ba], 1
mov byte [ebp - 0x7b9], 8
xor ecx, ecx
mov word [ebp - 0x7b8], cx
xor edx, edx
mov word [ebp - 0x7b6], dx
mov eax, dword [ebp - 0x20]
sub eax, 1
mov word [ebp - 0x7b4], ax
mov ecx, dword [ebp - 0x1c]
sub ecx, 1
mov word [ebp - 0x7b2], cx
mov ecx, dword [ebp + 0xc]
call fcn.00480d90
mov word [ebp - 0x7b0], ax
mov ecx, dword [ebp + 0xc]
call fcn.00480d90
mov word [ebp - 0x7ae], ax
mov byte [ebp - 0x7ac], 0
mov byte [ebp - 0x7ab], 0
mov byte [ebp - 0x7aa], 0
mov byte [ebp - 0x7a9], 0xff
mov byte [ebp - 0x7a8], 0xff
mov byte [ebp - 0x7a7], 0xff
mov byte [ebp - 0x77c], 0
mov byte [ebp - 0x77b], 1
mov dx, word [ebp - 0x20]
mov word [ebp - 0x77a], dx
mov eax, 2
mov word [ebp - 0x778], ax
lea ecx, [ebp - 0x734]
push ecx
push 0x100
push 0
mov ecx, dword [ebp - 0x334]
call fcn.00474b60
mov ecx, eax
call fcn.00475790
mov dword [ebp - 0x14], 0
jmp 0x48152e
mov edx, dword [ebp - 0x14]
add edx, 1
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x14], 0x100
jge 0x48157e
mov eax, dword [ebp - 0x14]
imul eax, eax, 3
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp + ecx*4 - 0x734]
mov byte [ebp + eax - 0x32c], dl
mov eax, dword [ebp - 0x14]
imul eax, eax, 3
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp + ecx*4 - 0x733]
mov byte [ebp + eax - 0x32b], dl
mov eax, dword [ebp - 0x14]
imul eax, eax, 3
mov ecx, dword [ebp - 0x14]
mov dl, byte [ebp + ecx*4 - 0x732]
mov byte [ebp + eax - 0x32a], dl
jmp 0x481525
mov ecx, dword [ebp - 0x334]
call fcn.00475080
push eax
call fcn.00479520
add esp, 4
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x334]
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x7cc]
mov dword [ebp - 0x7c8], ecx
cmp dword [ebp - 0x7c8], 0
je 0x4815d3
push 1
mov edx, dword [ebp - 0x7c8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x7c8]
mov edx, dword [eax + 4]
call edx
mov dword [ebp - 0x7d8], eax
jmp 0x4815dd
mov dword [ebp - 0x7d8], 0
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.00475f90
add esp, 4
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x18]
push edx
call fcn.00476240
add esp, 4
mov word [ebp - 0x330], ax
push 0x56f148
mov eax, dword [ebp + 8]
push eax
call fcn.00527b78
add esp, 8
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x481641
mov ecx, dword [ebp - 0x28]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
jmp 0x481719
mov dword [ebp - 0x2c], 0x80
mov eax, dword [ebp - 0x10]
push eax
push 1
push 0x80
lea ecx, [ebp - 0x7bc]
push ecx
call fcn.0052a2ef
add esp, 0x10
mov edx, dword [ebp - 0x1c]
sub edx, 1
mov dword [ebp - 0x14], edx
jmp 0x481676
mov eax, dword [ebp - 0x14]
sub eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jl 0x4816cc
mov ecx, dword [ebp - 0x10]
push ecx
movzx edx, word [ebp - 0x330]
imul edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x24]
push edx
movzx eax, word [ebp - 0x77a]
push eax
mov ecx, dword [ebp - 0x7d0]
call fcn.004817f0
test eax, eax
jne 0x4816ca
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00527c06
add esp, 4
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
jmp 0x481719
jmp 0x48166d
mov ecx, dword [ebp - 0x10]
push ecx
push 0xc
call fcn.0052a081
add esp, 8
mov edx, dword [ebp - 0x10]
push edx
push 1
push 0x300
lea eax, [ebp - 0x32c]
push eax
call fcn.0052a2ef
add esp, 0x10
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.00527c06
add esp, 4
mov edx, dword [ebp - 0x28]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x73c]
xor ecx, ebp
call fcn.005255a0
mov esp, ebp
pop ebp
ret 8