Function at 0x4441d0
Capabilities:
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x48
mov eax, dword [0x606180]
xor eax, esp
mov dword [esp + 0x44], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x1c], eax
mov ecx, 0x7f170c6f
mov ebp, 0x1b70ab0a
mov dword [esp + 8], eax
jmp 0x444210
mov ecx, 0x1f65de29
mov al, 1
mov dword [esp + 8], eax
nop dword [eax]
cmp ecx, 0xbad411b
jg 0x444270
cmp ecx, 0xd0a7c943
jle 0x4443f0
cmp ecx, 0xfa442ee2
jg 0x44447a
cmp ecx, 0xddf7fbbf
jg 0x44467d
cmp ecx, 0xd0a7c944
je 0x44478c
cmp ecx, 0xd3bf0249
jne 0x444210
mov eax, dword [esp + 0x10]
cmp eax, 3
mov ecx, 0x6bdbcc45
mov eax, 0xfa442ee3
cmovl ecx, eax
jmp 0x444210
cmp ecx, 0x5f9ab61c
jg 0x444440
cmp ecx, 0x1f65de28
jg 0x444560
cmp ecx, 0x152e8965
jg 0x44469f
cmp ecx, 0xbad411c
je 0x444201
cmp ecx, 0x1271750e
jne 0x444210
mov eax, dword [esp + 4]
mov esi, dword [eax + 0x38]
mov ebp, dword [esp + 4]
add ebp, 0x40
mov eax, dword [0x607468]
mov ecx, dword [0x607464]
lea edx, [eax + 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esp + 2]
cmp ecx, 0xa
setl byte [esp + 3]
mov ecx, 0xdbd59e16
nop word cs:[eax + eax]
cmp ecx, 0xf34ed6e4
jle 0x444320
cmp ecx, 0xf34ed6e5
je 0x444392
cmp ecx, 0x767dfd7f
jne 0x4442f0
jmp 0x4447a3
cmp ecx, 0xdbd59e16
je 0x4443b3
cmp ecx, 0xf053721a
jne 0x4442f0
mov eax, dword [esi]
mov ecx, esi
lea edx, [esp + 0x20]
push edx
lea edx, [esp + 0x48]
push edx
lea edx, [esp + 0x2c]
push edx
push ebp
call dword [eax + 0x20]
mov edi, dword [0x607468]
mov edx, dword [0x607464]
lea ecx, [edi + 1]
imul ecx, edi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov ebx, 0xf34ed6e5
mov edi, 0x767dfd7f
cmovne ebx, edi
cmp ecx, 0xffffffff
mov ecx, ebx
cmove ecx, edi
mov edi, eax
cmp edx, 0xa
cmovge ecx, ebx
jmp 0x4442f0
mov eax, dword [esi]
mov ecx, esi
lea edx, [esp + 0x20]
push edx
lea edx, [esp + 0x48]
push edx
lea edx, [esp + 0x2c]
push edx
push ebp
call dword [eax + 0x20]
mov ecx, 0xf053721a
jmp 0x4442f0
movzx eax, byte [esp + 2]
movzx ecx, byte [esp + 3]
mov edx, eax
xor dl, cl
test cl, cl
mov ecx, 0xf34ed6e5
mov ebx, 0xf053721a
cmovne ecx, ebx
test al, al
mov eax, 0xf34ed6e5
cmove ecx, eax
test dl, dl
cmovne ecx, ebx
jmp 0x4442f0
cmp ecx, 0xa8ca4a64
jle 0x444596
cmp ecx, 0xbe0d980d
jg 0x4446ea
cmp ecx, 0xa8ca4a65
je 0x4447be
cmp ecx, 0xb85a1385
jne 0x444210
cmp dword [esp + 0x10], 0
mov ecx, 0xd3bf0249
mov eax, 0xd0a7c944
cmovle ecx, eax
jmp 0x444210
cmp ecx, 0x6bdbcc44
jle 0x4445ed
cmp ecx, 0x787a2a8d
jg 0x44470c
cmp ecx, 0x6bdbcc45
je 0x4447d0
cmp ecx, 0x6ce6edf2
jne 0x444210
mov ecx, 0x787a2a8e
jmp 0x444210
cmp ecx, 0x53751f2
jg 0x444736
cmp ecx, 0xfa442ee3
je 0x4447e9
cmp ecx, 0xfb9e6f59
jne 0x444210
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 4]
push 0xffffffffffffffff
call eax
mov ecx, dword [0x60743c]
mov edx, dword [0x607440]
lea esi, [ecx + 1]
imul esi, ecx
mov ecx, esi
xor ecx, 0xfffffffe
test ecx, esi
sete byte [esp + 2]
sete bl
mov ecx, 0x59ee2e3c
mov esi, 0x16c4c28c
cmove ecx, esi
cmp edx, 0xa
setl byte [esp + 3]
setl dl
mov edi, 0x59ee2e3c
cmovge ecx, edi
xor dl, bl
cmovne ecx, esi
mov edx, 0x5139aa86
nop word [eax + eax]
cmp edx, 0x5139aa85
jg 0x444520
cmp edx, 0x16c4c28c
je 0x444802
cmp edx, 0x19a8637c
jne 0x444500
mov edx, ecx
jmp 0x444500
cmp edx, 0x59ee2e3c
je 0x444559
cmp edx, 0x5139aa86
jne 0x444500
movzx ebx, byte [esp + 2]
movzx edx, byte [esp + 3]
mov dh, bl
xor dh, dl
mov esi, 0x59ee2e3c
mov edi, 0x19a8637c
cmovne esi, edi
test dl, dl
mov edx, esi
cmovne edx, edi
test bl, bl
cmove edx, esi
jmp 0x444500
mov edx, 0x19a8637c
jmp 0x444500
cmp ecx, 0x35d48797
jg 0x44476e
cmp ecx, 0x1f65de29
je 0x444821
cmp ecx, 0x2e2e2bb9
jne 0x444210
mov ecx, 0x35d48798
mov dword [esp + 8], 0
jmp 0x444210
cmp ecx, 0x85d193a4
je 0x44485f
cmp ecx, 0x8d15bbff
je 0x444883
cmp ecx, 0x991e917b
jne 0x444210
mov edx, dword [0x607924]
mov eax, dword [0x607928]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0xe026511c
mov esi, 0x8d15bbff
jmp 0x444914
cmp ecx, 0x5f9ab61d
je 0x4448c2
cmp ecx, 0x63f3c7bb
je 0x4448d4
cmp ecx, 0x64948e14
jne 0x444210
mov eax, dword [esp + 4]
push dword [eax + 0x4c]
mov ebp, dword [esp + 0x1c]
push ebp
push 1
lea eax, [esp + 0x30]
push eax
call fcn.005da177
add esp, 0x10
mov esi, dword [0x607924]
mov edx, dword [0x607928]
lea ecx, [esi + 1]
imul ecx, esi
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete bl
cmp edx, 0xa
setl bh
xor bh, bl
mov esi, 0x85d193a4
mov edi, 0xbe0d980e
cmovne esi, edi
cmp ecx, 0xffffffff
mov ecx, esi
cmove ecx, edi
cmp edx, 0xa
cmovge ecx, esi
cmp ebp, eax
mov ebp, 0x1b70ab0a
setne byte [esp + 0xf]
jmp 0x444210
cmp ecx, 0xddf7fbc0
je 0x4448e6
cmp ecx, 0xe026511c
jne 0x444210
mov ecx, 0x8d15bbff
jmp 0x444210
cmp ecx, 0x152e8966
je 0x44492a
cmp ecx, 0x1b70ab0a
jne 0x444210
mov eax, dword [0x607924]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xbad411c
mov esi, 0x1f65de29
cmove ecx, esi
cmp dword [0x607928], 0xa
mov edx, 0xbad411c
jmp 0x4448b2
cmp ecx, 0xbe0d980e
je 0x444943
cmp ecx, 0xcf3a0c5a
jne 0x444210
mov ecx, 0x35d48798
jmp 0x444210
cmp ecx, 0x787a2a8e
je 0x44495a
cmp ecx, 0x7f170c6f
jne 0x444210
cmp dword [esp + 0x1c], 0
mov ecx, 0x53751f3
cmove ecx, ebp
jmp 0x444210
cmp ecx, 0x53751f3
je 0x444964
cmp ecx, 0x5810b34
jne 0x444210
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x24]
sub ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, 0xddf7fbc0
mov eax, 0x152e8966
cmove ecx, eax
jmp 0x444210
cmp ecx, 0x53ea61c3
jne 0x444979
mov ecx, 0x787a2a8e
mov dword [esp + 8], 0
jmp 0x444210
cmp dword [esp + 0x10], 0
mov ecx, 0x53ea61c3
mov eax, 0x5f9ab61d
cmove ecx, eax
jmp 0x444210
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov ecx, 0xb85a1385
mov ebp, 0x1b70ab0a
jmp 0x444210
mov ecx, 0x991e917b
mov dword [esp + 8], 0
jmp 0x444210
mov eax, dword [esp + 0x10]
cmp eax, 3
mov ecx, 0x53ea61c3
mov eax, 0x63f3c7bb
cmove ecx, eax
jmp 0x444210
mov eax, dword [esp + 0x10]
cmp eax, 1
mov ecx, 0x53ea61c3
mov eax, 0x5810b34
cmove ecx, eax
jmp 0x444210
cmp eax, 0xffffffff
sete byte [esp + 0x14]
cmp byte [esp + 0x14], 0
mov ecx, 0x1271750e
mov eax, 0x2e2e2bb9
cmovne ecx, eax
jmp 0x444210
mov eax, dword [0x607924]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete al
mov ecx, 0xbad411c
mov edi, 0xcf3a0c5a
cmove ecx, edi
cmp dword [0x607928], 0xa
setl dl
mov esi, 0xbad411c
cmovge ecx, esi
xor dl, al
cmovne ecx, edi
jmp 0x444206
mov eax, dword [esp + 4]
push dword [eax + 0x4c]
push dword [esp + 0x1c]
push 1
lea eax, [esp + 0x30]
push eax
call fcn.005da177
add esp, 0x10
mov ecx, 0x64948e14
jmp 0x444210
mov eax, dword [0x607924]
lea ecx, [eax + 1]
imul ecx, eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete al
mov ecx, 0xe026511c
mov esi, 0x6ce6edf2
cmove ecx, esi
cmp dword [0x607928], 0xa
mov edx, 0xe026511c
cmovge ecx, edx
setl dl
xor dl, al
cmovne ecx, esi
jmp 0x444210
mov eax, dword [esp + 4]
mov byte [eax + 0x3d], 0
mov ecx, 0x5810b34
jmp 0x444210
mov eax, dword [esp + 4]
mov byte [eax + 0x3d], 0
mov ecx, 0x787a2a8e
jmp 0x444206
mov edx, dword [0x607924]
mov eax, dword [0x607928]
lea ecx, [edx + 1]
imul ecx, edx
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete dl
cmp eax, 0xa
setl dh
xor dh, dl
mov edx, 0x85d193a4
mov esi, 0x64948e14
cmovne edx, esi
cmp ecx, 0xffffffff
mov ecx, edx
cmove ecx, esi
cmp eax, 0xa
cmovge ecx, edx
jmp 0x444210
mov eax, dword [esp + 4]
cmp byte [eax + 0x3d], 0
sete al
mov dword [esp + 8], eax
mov ecx, 0x991e917b
jmp 0x444210
cmp byte [esp + 0xf], 0
mov ecx, 0x152e8966
mov eax, 0xa8ca4a65
cmovne ecx, eax
jmp 0x444210
mov ecx, 0x35d48798
jmp 0x444210
mov eax, dword [esp + 4]
cmp byte [eax + 0x3d], 0
mov ecx, 0xfb9e6f59
cmove ecx, ebp
jmp 0x444210
cmp ecx, 0x35d48798
jne 0x444210
mov ebx, dword [esp + 8]
and bl, 1
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.005ce735
mov eax, ebx
add esp, 0x48
pop esi
pop edi
pop ebx
pop ebp
ret