Function at 0x44b970
Capabilities:
Write file on windows

Disassembly:
push ebx
push edi
push esi
sub esp, 0x7d8
mov eax, dword [esp + 0x7e8]
mov dword [esp + 0x7d4], eax
mov eax, dword [0x496ff8]
mov ecx, eax
dec ecx
mov dword [0x496ff8], ecx
cmp eax, 0x4b6a94bf
jl 0x44b9a9
mov word [0x491dbc], 0x3054
mov eax, dword [esp + 0x7d4]
mov ecx, eax
call fcn.0041ba20
cmp eax, 0x8070
jbe 0x44c0a2
mov eax, 0xab682133
mov cx, word [0x49097e]
mov dx, cx
dec edx
mov cx, dx
mov word [0x49097e], cx
movsx edx, cx
and edx, 0x1ca487ce
xor edx, 0x57498ef4
mov esi, dword [0x498044]
imul esi, edx
mov dword [0x498044], esi
mov edx, dword [0x49c420]
and edx, 0xa0fe94e1
mov dword [0x49c420], edx
mov cx, word [0x4940d8]
mov dx, cx
inc edx
mov cx, dx
mov word [0x4940d8], cx
movsx edx, cx
imul edx, edx, 0xdfe23c3b
mov esi, dword [0x49b6c0]
and edx, esi
and edx, 0x437f11d
mov dword [0x49b6c0], edx
mov cx, word [0x492b4a]
mov dx, cx
add edx, 0xfbcf7533
mov cx, dx
mov word [0x492b4a], cx
mov edx, esp
lea esi, [esp + 0x63c]
mov dword [edx], esi
mov dword [esp + 0x4c], eax
call fcn.00423990
mov dword [esp + 0x638], eax
mov cx, word [0x492e1e]
mov ax, cx
inc eax
mov di, ax
mov word [0x492e1e], di
movsx eax, cx
add eax, 0x41c3351a
and eax, 0x948326aa
mov dword [0x49c0e4], eax
call fcn.0040f5b0
movzx edx, al
and edx, 3
add edx, 7
mov esi, dword [esp + 0x638]
lea esi, [esp + esi + 0x63c]
mov ebx, esp
mov dword [ebx + 4], edx
mov dword [ebx], esi
call fcn.00403a60
mov cx, word [0x493b28]
mov dx, cx
mov cx, word [0x491cbe]
mov si, cx
lea edx, [edx + esi + 0x5e649feb]
mov cx, dx
mov word [0x491cbe], cx
mov edx, esp
mov dword [edx + 4], 5
mov dword [edx], 0xf17
call fcn.0044dc30
mov dword [esp + 0x7d0], eax
mov eax, dword [0x497b68]
shl eax, 8
mov edx, dword [esp + 0x4c]
cmp edx, eax
jne 0x44bb25
mov eax, dword [0x49aa0c]
and eax, 0x6c9bba1c
mov dword [0x49aa0c], eax
mov eax, dword [esp + 0x7d0]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x63c]
mov dword [ecx], eax
mov dword [esp + 0x48], eax
call fcn.00456370
mov dx, word [0x491562]
mov cx, dx
xor ecx, 0x3158
mov dx, cx
mov word [0x491562], dx
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x1da5
mov dword [esp + 0x44], eax
call fcn.0044dc30
mov dword [esp + 0x7cc], eax
mov eax, dword [0x49bbc0]
sar eax, 0xa
mov ecx, dword [0x498bb8]
lea eax, [eax + ecx + 0x694691f4]
mov dword [0x498bb8], eax
mov eax, dword [esp + 0x7d0]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.004387b0
mov eax, dword [0x495214]
mov ecx, eax
inc ecx
mov dword [0x495214], ecx
add eax, 0x68fcb8b2
mov ecx, dword [0x49b640]
xor ecx, eax
mov dword [0x49b640], ecx
mov eax, dword [esp + 0x7cc]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x48]
mov dword [ecx], eax
call fcn.00455f80
mov dword [esp + 0x7c4], eax
mov eax, dword [0x49c848]
dec eax
mov dword [0x49c848], eax
imul eax, eax, 0x7152763e
cmp eax, 0x807b28a3
jne 0x44bc26
mov eax, dword [0x499ab4]
imul eax, eax, 0x82a04186
or eax, 0xb8024b94
mov ecx, dword [0x49a104]
sub ecx, eax
mov dword [0x49a104], ecx
mov eax, dword [esp + 0x7cc]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.004387b0
mov eax, dword [0x495bc0]
imul eax, eax, 0xf3e9367d
mov dword [0x495bc0], eax
cmp dword [esp + 0x7c4], 0
je 0x44c04a
mov eax, 0x3b6105ef
mov ecx, dword [0x497b30]
add ecx, 0x3f9fbdf7
mov dword [0x497b30], ecx
mov ecx, dword [0x49a75c]
not ecx
mov dx, word [0x491a92]
mov si, dx
add esi, ecx
mov dx, si
mov word [0x491a92], dx
mov ecx, dword [esp + 0x7c4]
mov esi, dword [esp + 0x7d4]
mov dword [esp + 0x40], ecx
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.0041ba20
mov ecx, dword [esp + 0x7d4]
mov dword [esp + 0x38], eax
call fcn.00446e40
mov ecx, esp
mov esi, dword [esp + 0x40]
mov dword [ecx + 0xc], esi
mov esi, dword [esp + 0x38]
mov dword [ecx + 4], esi
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.00456133
mov dx, word [0x492c6e]
mov cx, dx
inc ecx
mov di, cx
mov word [0x492c6e], di
movsx ecx, dx
mov esi, dword [0x497ea0]
inc esi
mov dword [0x497ea0], esi
mov ebx, dword [esp + 0x3c]
sub ebx, esi
or ecx, ebx
cmp ecx, 0xf9caa762
mov dword [esp + 0x34], eax
jne 0x44bd27
mov eax, dword [0x49962c]
add eax, 0xbd656d71
mov dword [0x49962c], eax
mov eax, dword [esp + 0x7c4]
mov ecx, esp
mov dword [ecx], eax
call fcn.00456221
mov ecx, dword [0x4962e4]
imul ecx, ecx, 0x419fa0
or ecx, 0x3f1f
mov dx, word [0x492ec6]
mov si, dx
and esi, ecx
mov dx, si
mov word [0x492ec6], dx
mov ecx, dword [esp + 0x7d4]
mov dword [esp + 0x30], eax
call fcn.0044d990
mov eax, dword [0x499cd0]
xor eax, 0xa2ae485e
mov dword [0x499cd0], eax
mov byte [esp + 0x1c6], 0
mov eax, dword [0x49472c]
add eax, 0x8e09b5e4
mov dword [0x49472c], eax
mov eax, dword [0x490188]
mov ecx, esp
lea esi, [esp + 0x52]
mov dword [ecx + 4], esi
mov dword [ecx + 8], 0x174
mov dword [ecx], 0
call eax
sub esp, 0xc
mov dx, word [0x490464]
movsx ecx, dx
shl ecx, 4
cmp ecx, 0x9f6d7dc6
mov dword [esp + 0x2c], eax
jne 0x44be0d
mov eax, 0x64cda2ae
mov ecx, dword [0x49bf60]
mov edx, ecx
inc edx
mov dword [0x49bf60], edx
cmp eax, ecx
jne 0x44be08
mov eax, dword [0x4952ec]
sar eax, 8
mov ecx, dword [0x496c30]
lea eax, [eax + ecx + 0x139da06b]
mov dword [0x496c30], eax
jmp 0x44be0d
mov eax, 0xc83d711f
mov byte [esp + 0x637], 0
mov ecx, dword [0x497220]
shr ecx, 0xa
mov edx, 0xb48eef9c
sub edx, ecx
mov si, word [0x49449a]
mov cx, si
and edx, ecx
and edx, 0x6f45
mov si, dx
mov word [0x49449a], si
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x33ed
mov dword [esp + 0x28], eax
call fcn.0044dc30
mov dword [esp + 0x7c8], eax
mov eax, dword [0x49bc64]
mov ecx, eax
dec ecx
mov dword [0x49bc64], ecx
add eax, 0xff2dfdcb
mov ecx, dword [0x4956a4]
or ecx, eax
mov dword [0x4956a4], ecx
mov eax, dword [0x49d5fc]
mov ecx, dword [0x49d5e4]
mov edx, dword [esp + 0x7c8]
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], edx
lea eax, [esp + 0x1c7]
mov dword [edi], eax
call fcn.0045655b
mov ecx, dword [0x49a21c]
dec ecx
mov dword [0x49a21c], ecx
add ecx, 0x48533467
mov edx, dword [esp + 0x28]
cmp edx, ecx
mov dword [esp + 0x24], eax
je 0x44bef9
mov eax, dword [0x4958d4]
dec eax
mov dword [0x4958d4], eax
or eax, 0x9ba6c46d
mov ecx, dword [0x49c184]
xor ecx, eax
mov dword [0x49c184], ecx
mov eax, dword [esp + 0x7c8]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x15
call fcn.004387b0
mov dword [0x499a2c], 0xbeeedfd6
mov eax, dword [0x49d5fc]
mov ecx, esp
mov dword [ecx], eax
call fcn.004276d0
mov ecx, dword [0x49c4e0]
or ecx, 0x1912d073
mov dword [0x49c4e0], ecx
mov ecx, esp
lea edx, [esp + 0x1c7]
mov dword [ecx + 4], edx
lea esi, [esp + 0x63c]
mov dword [ecx], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edx
call fcn.004504c0
mov di, word [0x493fc8]
movsx eax, di
mov ecx, dword [0x494de8]
imul eax, ecx
shl eax, 6
and eax, 0x78902400
mov ecx, dword [0x498dcc]
add ecx, eax
mov dword [0x498dcc], ecx
mov eax, esp
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov dword [eax + 4], 0x471
call fcn.00447c30
mov di, word [0x491528]
movsx eax, di
mov ecx, 0x2db68d78
sub ecx, eax
and ecx, 0x6e5db394
mov dword [0x49c298], ecx
mov eax, esp
lea ecx, [esp + 0x52]
mov dword [eax], ecx
mov dword [eax + 4], 0x175
call fcn.00447c30
mov eax, dword [0x496190]
xor eax, 0x5d2cf03c
mov dword [0x496190], eax
mov eax, dword [0x4901e4]
mov ecx, esp
mov dword [ecx], 0x16219
call eax
sub esp, 4
mov eax, dword [0x49b8c8]
mov ecx, eax
inc ecx
mov dword [0x49b8c8], ecx
mov di, word [0x4927ec]
mov cx, di
and ecx, eax
mov di, cx
mov word [0x4927ec], di
mov eax, dword [0x490134]
mov ecx, esp
mov edx, dword [esp + 0x1c]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x49c438]
dec ecx
mov dword [0x49c438], ecx
xor ecx, 0xe9d17b88
mov edx, dword [0x4961fc]
and edx, ecx
mov dword [0x4961fc], edx
mov dword [esp + 0x14], eax
mov eax, dword [0x49b840]
imul eax, eax, 0x7e6feebe
mov dword [0x49b840], eax
mov eax, esp
lea ecx, [esp + 0x63c]
mov dword [eax], ecx
mov dword [eax + 4], 0x188
call fcn.00447c30
mov eax, dword [0x49aae0]
shl eax, 8
sub eax, 0xdc81320
add eax, 0xa8465c8e
cmp eax, 0xf3eff7bd
jg 0x44c09d
mov eax, dword [0x49cb44]
add eax, 0x14808601
mov dword [0x49cb44], eax
jmp 0x44c0a2
mov ax, word [0x492bea]
mov cx, ax
imul ecx, ecx, 0x122ca995
mov ax, cx
mov word [0x492bea], ax
add esp, 0x7d8
pop esi
pop edi
pop ebx
ret