Function at 0x44d290
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x778
mov eax, dword [esp + 0x784]
mov dword [esp + 0x774], eax
mov eax, dword [0x499dac]
shl eax, 2
mov ecx, dword [0x49919c]
and ecx, 0x3dee861e
and ecx, 0xce719e0a
cmp eax, ecx
jne 0x44d2dc
mov eax, dword [0x496bb4]
or eax, 0xb82208ff
mov dword [0x496bb4], eax
jmp 0x44d325
mov eax, 0xa74b3a7c
mov ecx, dword [0x4a5978]
mov edx, ecx
inc edx
mov dword [0x4a5978], edx
imul ecx, ecx, 0x5030edea
cmp eax, ecx
jne 0x44d320
mov eax, dword [0x49d10c]
mov ecx, eax
inc ecx
mov dword [0x49d10c], ecx
mov ecx, 0x86fdced4
sub ecx, eax
mov eax, dword [0x497690]
imul eax, ecx
mov dword [0x497690], eax
jmp 0x44d325
mov eax, dword [esp + 0x774]
mov ecx, eax
call fcn.0044fff0
cmp eax, 0x804d
jbe 0x44dbda
mov eax, 0x8badca5e
mov ecx, dword [0x496e44]
inc ecx
mov dword [0x496e44], ecx
imul ecx, ecx, 0x188f63a9
xor ecx, 0x8e5ab815
mov edx, dword [0x4975e0]
and edx, ecx
mov dword [0x4975e0], edx
mov si, word [0x4937d8]
mov cx, si
inc ecx
mov di, cx
mov word [0x4937d8], di
movsx ecx, si
cmp eax, ecx
jg 0x44d3b4
mov ax, word [0x493bbe]
mov cx, ax
dec ecx
mov ax, cx
mov word [0x493bbe], ax
movsx ecx, ax
mov edx, dword [0x49ba90]
or ecx, edx
or ecx, 0x1d1c9b96
mov dword [0x49ba90], ecx
mov eax, dword [0x4a40d8]
sar eax, 1
add eax, 0x103510d6
mov ecx, dword [0x49bf5c]
xor ecx, eax
mov dword [0x49bf5c], ecx
mov eax, dword [0x49c7b8]
add eax, 0x99492f4f
mov dword [0x49c7b8], eax
mov eax, esp
lea ecx, [esp + 0x5ff]
mov dword [eax], ecx
call fcn.00402540
mov dword [esp + 0x5f8], eax
mov eax, dword [0x49936c]
dec eax
mov dword [0x49936c], eax
imul eax, eax, 0xf043fc28
cmp eax, 0xf9ef4346
je 0x44d430
mov eax, dword [0x496ce0]
not eax
imul eax, eax, 0x256c31f
and eax, 0xb8da5f3a
mov ecx, dword [0x498c98]
or ecx, eax
mov dword [0x498c98], ecx
mov eax, 0xc082100
mov dword [esp + 0x54], eax
call fcn.004078b0
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x5f8]
lea edx, [esp + edx + 0x5ff]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.004079f0
mov ecx, dword [0x49c6c0]
mov di, word [0x49288e]
mov dx, di
lea ecx, [ecx + edx - 0x2746f8e3]
mov di, cx
mov word [0x49288e], di
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x4967
call fcn.00428730
mov dword [esp + 0x770], eax
mov eax, dword [0x4973c0]
shl eax, 9
imul eax, eax, 0xb2cae41e
xor eax, 0xf4ced8b8
mov ecx, dword [esp + 0x54]
cmp ecx, eax
jg 0x44d4de
mov ax, word [0x493cc2]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x493cc2], dx
movsx ecx, ax
mov dword [0x49869c], ecx
jmp 0x44d4fa
mov eax, dword [0x4a2f78]
mov ecx, eax
dec ecx
mov dword [0x4a2f78], ecx
mov ecx, dword [0x49e4b0]
xor ecx, eax
mov dword [0x49e4b0], ecx
mov eax, dword [esp + 0x770]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5ff]
mov dword [ecx], eax
call fcn.00455ac0
mov ecx, dword [0x4a0bec]
add ecx, 0xe28eaa7e
mov dword [0x4a0bec], ecx
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x3cad
mov dword [esp + 0x50], eax
call fcn.00428730
mov dword [esp + 0x76c], eax
mov dx, word [0x48e668]
movsx eax, dx
mov ecx, dword [0x4a682c]
sar ecx, 3
add eax, ecx
cmp eax, 0xd77fd21b
je 0x44d582
mov eax, dword [0x49a958]
inc eax
mov dword [0x49a958], eax
mov ecx, dword [0x4a6b48]
and eax, ecx
and eax, 0x6d341f06
mov dword [0x4a6b48], eax
mov eax, 0x894d2955
mov ecx, dword [esp + 0x770]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x4c], eax
call fcn.00419110
mov eax, dword [0x4a34d0]
shl eax, 2
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jge 0x44d5c5
mov eax, dword [0x4971f4]
xor eax, 0x4993fa52
mov dword [0x4971f4], eax
mov eax, dword [esp + 0x76c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5ff]
mov dword [ecx], eax
call fcn.004556d0
mov dword [esp + 0x764], eax
mov dx, word [0x48d7e2]
mov ax, dx
or eax, 0xfa9d
mov dx, ax
mov word [0x48d7e2], dx
mov eax, dword [esp + 0x76c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00419110
mov dx, word [0x494810]
mov ax, dx
dec eax
mov si, ax
mov word [0x494810], si
movsx eax, dx
mov ecx, dword [0x49e994]
dec ecx
mov dword [0x49e994], ecx
xor eax, ecx
or eax, 0xaec91b3
cmp eax, 0x381eeaa5
jg 0x44d65c
mov dword [0x498b70], 0x8332336
jmp 0x44d68a
mov eax, 0xfc51c9ed
mov ecx, dword [0x49eb3c]
inc ecx
mov dword [0x49eb3c], ecx
cmp eax, ecx
je 0x44d685
mov eax, dword [0x495a84]
and eax, 0xb0d58b2e
mov dword [0x495a84], eax
jmp 0x44d68a
cmp dword [esp + 0x764], 0
je 0x44db96
mov eax, 0x55be5d3c
mov cx, word [0x492562]
mov dx, cx
xor edx, 0x6123
mov cx, dx
mov word [0x492562], cx
mov edx, dword [0x49cc44]
or edx, 0xf003883e
mov dword [0x49cc44], edx
mov edx, dword [esp + 0x764]
mov ecx, dword [esp + 0x774]
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
call fcn.0044fff0
mov ecx, dword [esp + 0x774]
mov dword [esp + 0x40], eax
call fcn.0043b040
mov ecx, esp
mov edx, dword [esp + 0x44]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x40]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.00455883
mov ecx, dword [0x4a3c58]
mov edx, dword [0x499110]
imul ecx, edx
mov edx, dword [esp + 0x48]
cmp edx, ecx
mov dword [esp + 0x3c], eax
jl 0x44d754
mov eax, dword [0x49a588]
shr eax, 2
add eax, 0x5dbbdfb7
mov cx, word [0x49401e]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x49401e], cx
mov eax, 0x900d30
mov ecx, dword [esp + 0x764]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x38], eax
call fcn.00455971
mov si, word [0x490e26]
mov cx, si
and ecx, 0x2440
mov si, cx
mov word [0x490e26], si
mov ecx, dword [esp + 0x774]
mov dword [esp + 0x34], eax
call fcn.00418840
mov si, word [0x490aae]
movsx eax, si
imul eax, eax, 0xb729ca4c
imul eax, eax, 0x258da3c1
mov ecx, dword [esp + 0x38]
cmp ecx, eax
je 0x44d808
mov eax, dword [0x49a9f4]
mov cx, word [0x492678]
mov dx, cx
dec edx
mov si, dx
mov word [0x492678], si
movsx edx, cx
and eax, edx
mov edx, dword [0x4a6244]
and eax, edx
mov edx, dword [0x4a49c4]
xor edx, 0xcafe523e
cmp eax, edx
jne 0x44d803
mov eax, dword [0x497b74]
xor eax, 0x76192212
mov dword [0x497b74], eax
jmp 0x44d808
mov eax, 0x51ef8cf6
mov byte [esp + 0x1a9], 0
mov cx, word [0x48e7ba]
movsx edx, cx
shl edx, 0xa
mov esi, dword [0x49f64c]
mov edi, esi
dec edi
mov dword [0x49f64c], edi
xor edx, esi
xor edx, 0x403ff3fe
mov dword [0x4a4cf4], edx
mov edx, dword [0x48c028]
mov esi, esp
lea edi, [esp + 0x58]
mov dword [esi + 4], edi
mov dword [esi + 8], 0x151
mov dword [esi], 0
mov dword [esp + 0x30], eax
call edx
sub esp, 0xc
mov edx, dword [0x4a4004]
inc edx
mov dword [0x4a4004], edx
mov esi, dword [0x499244]
dec esi
mov dword [0x499244], esi
and edx, esi
mov esi, dword [esp + 0x30]
cmp esi, edx
mov dword [esp + 0x2c], eax
jg 0x44d8bf
mov ax, word [0x48cd6c]
mov cx, ax
mov edx, ecx
inc edx
mov ax, dx
mov word [0x48cd6c], ax
or ecx, 0x9d0d
mov ax, word [0x48f0f4]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x48f0f4], ax
mov eax, 0x65e72132
mov byte [esp + 0x5f7], 0
mov cx, word [0x493314]
mov dx, cx
inc edx
mov cx, dx
mov word [0x493314], cx
movsx edx, cx
cmp eax, edx
jl 0x44d94a
mov eax, dword [0x4a0e54]
add eax, 0xe348b477
cmp eax, 0xbd101dd5
jg 0x44d93b
mov eax, 0x15ffd9d0
mov cx, word [0x493b9c]
mov dx, cx
dec edx
mov cx, dx
mov word [0x493b9c], cx
movsx edx, cx
imul edx, edx, 0x1658de1c
cmp eax, edx
je 0x44d931
jmp 0x44d936
jmp 0x44d936
jmp 0x44d945
mov dword [0x49becc], 0x74bf7fff
jmp 0x44d94a
mov eax, esp
mov dword [eax + 4], 0x15
mov dword [eax], 0x3638
call fcn.00428730
mov dword [esp + 0x768], eax
mov eax, dword [0x4954c0]
inc eax
mov dword [0x4954c0], eax
or eax, 0x470bbc15
mov ecx, dword [0x4a1388]
and ecx, eax
mov dword [0x4a1388], ecx
mov eax, dword [0x4a7bb4]
mov ecx, dword [0x4a7b9c]
mov edx, dword [esp + 0x768]
mov esi, esp
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
lea eax, [esp + 0x58]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
lea ecx, [esp + 0x1aa]
mov dword [esi], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
call fcn.00455cab
mov ecx, dword [0x4a2454]
mov edx, ecx
dec edx
mov dword [0x4a2454], edx
mov edx, dword [0x4a01a4]
and edx, ecx
mov dword [0x4a01a4], edx
mov ecx, dword [esp + 0x768]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x20], eax
call fcn.00419110
mov eax, dword [0x49fe48]
xor eax, 0xfbce
mov di, word [0x491028]
mov cx, di
imul ecx, eax
mov di, cx
mov word [0x491028], di
mov eax, dword [0x4a7bb4]
mov ecx, esp
mov dword [ecx], eax
call fcn.004385e0
mov ecx, dword [0x4a48e0]
mov edx, dword [0x4a3900]
imul ecx, edx
shl ecx, 6
mov dword [0x4a3900], ecx
mov ecx, esp
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
lea esi, [esp + 0x5ff]
mov dword [ecx], esi
mov dword [esp + 0x1c], eax
call fcn.00417160
mov eax, dword [0x497bd4]
and eax, 0x51e1b943
mov dword [0x497bd4], eax
mov eax, esp
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
mov dword [eax + 4], 0x44e
call fcn.00417650
mov di, word [0x492be4]
mov ax, di
and eax, 0xceaa
mov di, ax
mov word [0x492be4], di
mov eax, esp
mov ecx, dword [esp + 0x24]
mov dword [eax], ecx
mov dword [eax + 4], 0x152
call fcn.00417650
mov eax, dword [0x4a3bd8]
dec eax
mov dword [0x4a3bd8], eax
imul eax, eax, 0xc26b92e3
mov ecx, dword [0x49e174]
mov edx, ecx
inc edx
mov dword [0x49e174], edx
imul eax, ecx
cmp eax, 0xadcee21e
jge 0x44dae4
mov eax, dword [0x4a6df8]
xor eax, 0x150028
mov dword [0x4a6df8], eax
mov eax, 0xa046ea32
mov ecx, dword [0x48c084]
mov edx, esp
mov dword [edx], 0x16062
mov dword [esp + 0x18], eax
call ecx
sub esp, 4
mov eax, dword [0x498f18]
inc eax
mov dword [0x498f18], eax
mov ecx, dword [0x4a51cc]
or ecx, eax
mov dword [0x4a51cc], ecx
mov eax, dword [0x48bfd4]
mov ecx, esp
lea edx, [esp + 0x5ff]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x4a6ec4]
mov edx, dword [esp + 0x18]
cmp edx, ecx
mov dword [esp + 0x14], eax
jge 0x44db76
mov eax, dword [0x497430]
mov ecx, eax
inc ecx
mov dword [0x497430], ecx
mov ecx, dword [0x496618]
mov edx, ecx
inc edx
mov dword [0x496618], edx
xor eax, ecx
mov ecx, dword [0x4a0140]
sub ecx, eax
mov dword [0x4a0140], ecx
jmp 0x44db91
mov eax, dword [0x4a0488]
shl eax, 3
or eax, 0xefe5d856
mov ecx, dword [0x4a3790]
add ecx, eax
mov dword [0x4a3790], ecx
jmp 0x44db96
mov ax, word [0x49382c]
mov cx, ax
imul ecx, ecx, 0xe4eb8ad
mov ax, cx
mov word [0x49382c], ax
mov ecx, esp
lea edx, [esp + 0x5ff]
mov dword [ecx], edx
mov dword [ecx + 4], 0x165
call fcn.00417650
mov ecx, dword [0x4a1d58]
sar ecx, 6
xor ecx, 0xb68e5032
mov dword [0x49b2a4], ecx
mov eax, dword [0x49f198]
xor eax, 0x43d80acb
mov dword [0x49f198], eax
add esp, 0x778
pop esi
pop edi
ret