Function at 0x44be10
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x688
mov eax, dword [esp + 0x694]
mov dword [esp + 0x684], eax
mov eax, dword [0x48c604]
add eax, 0x3d6c2de5
mov dword [0x48c604], eax
mov eax, dword [esp + 0x684]
mov ecx, eax
call fcn.004240d0
cmp eax, 0x8000
jbe 0x44c55e
mov eax, 0x79738475
mov ecx, dword [0x485a30]
shl ecx, 4
and ecx, 0xe000
mov dx, word [0x47fc3a]
mov si, dx
add esi, ecx
mov dx, si
mov word [0x47fc3a], dx
mov ecx, dword [0x484ff8]
dec ecx
mov dword [0x484ff8], ecx
xor ecx, 0x5f0c
mov dx, word [0x4834b8]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x4834b8], dx
mov ecx, dword [0x48519c]
or ecx, 0xe0a5717e
mov dword [0x48519c], ecx
mov ecx, dword [0x487e48]
imul ecx, ecx, 0x87f22413
mov dword [0x487e48], ecx
mov ecx, esp
lea esi, [esp + 0x55c]
mov dword [ecx], esi
mov dword [esp + 0x4c], eax
call fcn.0040a010
mov dword [esp + 0x558], eax
mov eax, dword [0x48543c]
xor eax, 0x83fa8ce
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jl 0x44bf0e
mov eax, dword [0x48e918]
or eax, 0x7a821a88
mov ecx, dword [0x48dcfc]
and ecx, eax
mov dword [0x48dcfc], ecx
call fcn.0041fdb0
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x558]
lea edx, [esp + edx + 0x55c]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.0044b9f0
mov ecx, dword [0x488edc]
dec ecx
mov dword [0x488edc], ecx
and ecx, 0x87aa
xor ecx, 0x75ed
mov di, cx
mov word [0x483a2e], di
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x3507
call fcn.00449170
mov dword [esp + 0x680], eax
mov eax, dword [0x485cb0]
or eax, 0xbb77eaff
mov dword [0x485cb0], eax
mov eax, dword [esp + 0x680]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x55c]
mov dword [ecx], eax
mov dword [esp + 0x48], eax
call fcn.004556e0
mov ecx, dword [0x48d6fc]
xor ecx, 0x80b3b55
mov dword [0x48d6fc], ecx
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x1fa7
mov dword [esp + 0x44], eax
call fcn.00449170
mov dword [esp + 0x67c], eax
mov eax, dword [0x48e3c4]
and eax, 0x6cc8
mov di, word [0x482e80]
mov cx, di
or eax, ecx
or eax, 0x9334
mov di, ax
mov word [0x482e80], di
mov eax, dword [esp + 0x680]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0044fa10
mov eax, dword [0x4868c0]
mov ecx, 0xd97571e3
sub ecx, eax
mov eax, dword [0x48c054]
and eax, ecx
mov dword [0x48c054], eax
mov eax, dword [esp + 0x67c]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x48]
mov dword [ecx], eax
call fcn.00455d14
mov dword [esp + 0x674], eax
mov eax, dword [0x48c6ec]
xor eax, 0x1b6ab047
mov di, word [0x480566]
movsx ecx, di
shl ecx, 7
and ecx, 0xfbf7b8b7
cmp eax, ecx
jge 0x44c0b4
mov ax, word [0x48340a]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x48340a], ax
movsx ecx, ax
cmp ecx, 0x9e79c7ec
jl 0x44c0af
mov ax, word [0x483222]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x483222], ax
movsx ecx, ax
mov edx, dword [0x488390]
sub edx, ecx
mov dword [0x488390], edx
jmp 0x44c107
mov eax, 0xba66dc2b
mov ecx, dword [0x48a7d0]
add ecx, 0xcbd8ffee
and ecx, 0xba95cab4
cmp eax, ecx
jg 0x44c102
mov eax, 0xc282bba5
mov ecx, dword [0x48b410]
mov edx, dword [0x48a624]
shl edx, 7
imul ecx, edx
add ecx, 0xd66f699
cmp eax, ecx
jge 0x44c0fd
jmp 0x44c0fd
jmp 0x44c102
jmp 0x44c107
mov eax, dword [esp + 0x67c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0044fa10
mov eax, dword [0x488e24]
inc eax
mov dword [0x488e24], eax
or eax, 0xc71c0599
mov ecx, dword [0x489bdc]
xor ecx, eax
mov dword [0x489bdc], ecx
cmp dword [esp + 0x674], 0
je 0x44c52e
mov eax, 0x1a45a767
mov ecx, dword [0x487e2c]
and ecx, 0x3c87331c
mov dword [0x487e2c], ecx
mov ecx, dword [0x48934c]
mov edx, ecx
inc edx
mov dword [0x48934c], edx
add ecx, 0xf981893b
mov si, word [0x4823d8]
mov dx, si
imul edx, ecx
mov si, dx
mov word [0x4823d8], si
mov ecx, dword [esp + 0x674]
mov edx, dword [esp + 0x684]
mov dword [esp + 0x40], ecx
mov ecx, edx
mov dword [esp + 0x3c], eax
call fcn.004240d0
mov ecx, dword [esp + 0x684]
mov dword [esp + 0x38], eax
call fcn.0044ffa0
mov ecx, esp
mov edx, dword [esp + 0x40]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.00455ec7
mov dword [0x4884c8], 0x96dd6918
mov ecx, dword [esp + 0x674]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x34], eax
call fcn.004561f6
mov si, word [0x48317a]
mov cx, si
dec ecx
mov di, cx
mov word [0x48317a], di
movsx ecx, si
or ecx, 0x5ff3db8f
mov edx, dword [0x485e94]
xor edx, ecx
mov dword [0x485e94], edx
mov ecx, dword [esp + 0x684]
mov dword [esp + 0x30], eax
call fcn.00450200
mov eax, dword [0x487f88]
xor eax, 0xdb7f7fbf
mov dword [0x487f88], eax
mov byte [esp + 0x156], 0
mov eax, dword [0x489770]
sar eax, 6
mov ecx, dword [0x4859b4]
shl ecx, 4
and eax, ecx
or eax, 0x130df56d
mov ecx, dword [0x486e30]
imul ecx, eax
mov dword [0x486e30], ecx
mov eax, dword [0x47f888]
mov ecx, esp
lea edx, [esp + 0x52]
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0x104
mov dword [ecx], 0
call eax
sub esp, 0xc
mov si, word [0x480544]
mov cx, si
add ecx, 0xc648c74e
mov si, cx
mov word [0x480544], si
mov byte [esp + 0x557], 0
mov ecx, dword [0x48cd68]
dec ecx
mov dword [0x48cd68], ecx
mov edx, dword [esp + 0x3c]
cmp edx, ecx
mov dword [esp + 0x2c], eax
je 0x44c2e5
mov eax, dword [0x489e5c]
sar eax, 6
mov ecx, dword [0x487844]
add ecx, eax
mov dword [0x487844], ecx
mov eax, 0x16c0374a
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x20b5
mov dword [esp + 0x28], eax
call fcn.00449170
mov dword [esp + 0x678], eax
mov dx, word [0x48303e]
mov ax, dx
add eax, 0x9a092c4
mov dx, ax
mov word [0x48303e], dx
mov eax, dword [0x48f54c]
mov ecx, dword [0x48f534]
mov esi, dword [esp + 0x678]
mov edi, esp
mov dword [edi + 0x10], eax
mov dword [edi + 0xc], ecx
lea eax, [esp + 0x52]
mov dword [edi + 8], eax
mov dword [edi + 4], esi
lea ecx, [esp + 0x157]
mov dword [edi], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
call fcn.004558fc
mov dx, word [0x48395c]
mov cx, dx
imul ecx, ecx, 0x13da6ad5
mov dx, cx
mov word [0x48395c], dx
mov ecx, dword [esp + 0x678]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x15
mov dword [esp + 0x1c], eax
call fcn.0044fa10
mov eax, dword [0x48e864]
mov ecx, dword [0x48d3a4]
and ecx, eax
mov dword [0x48d3a4], ecx
mov eax, dword [0x48f54c]
mov ecx, esp
mov dword [ecx], eax
call fcn.00426db0
mov dx, word [0x47fd54]
mov cx, dx
or ecx, 0x2347
mov dx, cx
mov word [0x47fd54], dx
mov ecx, esp
mov esi, dword [esp + 0x24]
mov dword [ecx + 4], esi
lea edi, [esp + 0x55c]
mov dword [ecx], edi
mov dword [esp + 0x18], eax
call fcn.0040f390
mov dx, word [0x4828b4]
mov ax, dx
or eax, 0x803
mov dx, ax
mov word [0x4828b4], dx
mov eax, esp
mov ecx, dword [esp + 0x24]
mov dword [eax], ecx
mov dword [eax + 4], 0x401
call fcn.004238e0
mov eax, dword [0x486e28]
imul eax, eax, 0x5982947
mov ecx, dword [0x485f98]
sub ecx, eax
mov dword [0x485f98], ecx
mov eax, esp
mov ecx, dword [esp + 0x20]
mov dword [eax], ecx
mov dword [eax + 4], 0x105
call fcn.004238e0
mov eax, dword [0x487a64]
mov ecx, dword [0x48d82c]
mov esi, dword [0x485cc8]
xor esi, 0xffffffff
add ecx, esi
xor eax, ecx
mov ecx, dword [esp + 0x28]
cmp ecx, eax
jg 0x44c4aa
mov eax, 0xbeea2191
mov cx, word [0x483a3e]
movsx edx, cx
imul edx, edx, 0x516d363c
mov cx, word [0x480618]
movsx esi, cx
sub eax, esi
cmp edx, eax
jne 0x44c4a5
mov ax, word [0x4844a4]
movsx ecx, ax
mov edx, dword [0x48d12c]
or edx, ecx
mov dword [0x48d12c], edx
jmp 0x44c4c7
mov eax, dword [0x48c194]
mov ecx, eax
dec ecx
mov dword [0x48c194], ecx
add eax, 0x48fe859e
and eax, 0x1fa436b
mov dword [0x489168], eax
mov eax, dword [0x47f8e4]
mov ecx, esp
mov dword [ecx], 0x15f90
call eax
sub esp, 4
mov eax, dword [0x486c74]
mov ecx, eax
dec ecx
mov dword [0x486c74], ecx
add eax, 0x9b3052e4
mov ecx, dword [0x484fa8]
and ecx, eax
mov dword [0x484fa8], ecx
mov eax, dword [0x47f834]
mov ecx, esp
lea edx, [esp + 0x55c]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x48e528]
mov edx, 0x975a32bb
sub edx, ecx
mov ecx, dword [0x48aaec]
add ecx, edx
mov dword [0x48aaec], ecx
mov dword [esp + 0x14], eax
mov dword [0x484ab0], 0xe51e1438
mov eax, esp
lea ecx, [esp + 0x55c]
mov dword [eax], ecx
mov dword [eax + 4], 0x118
call fcn.004238e0
mov eax, dword [0x48a7c0]
or eax, 0x91d574b9
mov dword [0x48a7c0], eax
mov eax, dword [0x488d98]
sar eax, 2
mov cx, word [0x480258]
movsx edx, cx
not edx
sub eax, edx
mov edx, dword [0x4881dc]
mov esi, edx
inc esi
mov dword [0x4881dc], esi
xor edx, 0x683be4a0
cmp eax, edx
je 0x44c5c6
mov eax, dword [0x48ec70]
mov ecx, dword [0x487874]
and eax, ecx
cmp eax, 0x6ec4a665
jne 0x44c5c1
mov eax, dword [0x48e3c8]
and eax, 0x9f14ad4d
mov ecx, dword [0x486a1c]
sub ecx, eax
mov dword [0x486a1c], ecx
jmp 0x44c5c6
add esp, 0x688
pop esi
pop edi
ret