Function at 0x448990
Capabilities:
Write file on windows

Disassembly:
push ebx
push edi
push esi
sub esp, 0x77c
mov eax, dword [esp + 0x78c]
mov dword [esp + 0x778], eax
mov cx, word [0x490502]
mov ax, cx
dec eax
mov cx, ax
mov word [0x490502], cx
movsx eax, cx
mov edx, dword [0x4a664c]
or edx, eax
mov dword [0x4a664c], edx
mov eax, dword [esp + 0x778]
mov ecx, eax
call fcn.0043c9e0
cmp eax, 0x8052
jbe 0x4490da
mov eax, 0xcc352a25
mov ecx, dword [0x49a8d4]
mov edx, ecx
inc edx
mov dword [0x49a8d4], edx
add ecx, 0xe2456ac9
mov edx, dword [0x49a1a8]
imul edx, ecx
mov dword [0x49a1a8], edx
mov si, word [0x499498]
mov cx, si
dec ecx
mov di, cx
mov word [0x499498], di
movsx ecx, si
add ecx, 0xcbdcedbf
cmp eax, ecx
jl 0x448a88
mov eax, 0x5f4fb7ff
mov cx, word [0x492952]
movsx edx, cx
add edx, 0x765e0f11
mov esi, dword [0x4ad780]
and edx, esi
cmp eax, edx
jge 0x448a83
mov eax, 0xf9328348
mov ecx, dword [0x4a7d70]
mov dx, word [0x499558]
movsx esi, dx
and ecx, esi
cmp eax, ecx
jle 0x448a7e
jmp 0x448a7e
jmp 0x448a83
jmp 0x448a88
mov eax, 0xf89beffd
mov ecx, dword [0x49fff0]
sub ecx, 0x1f530b7c
xor ecx, 0x4af22e6c
cmp eax, ecx
jl 0x448ace
mov ax, word [0x496106]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x496106], ax
movsx ecx, ax
or ecx, 0xb39110e7
mov dword [0x4ab230], ecx
jmp 0x448aef
mov eax, dword [0x4aca9c]
mov ecx, eax
dec ecx
mov dword [0x4aca9c], ecx
add eax, 0xbf911e44
mov ecx, dword [0x49cf6c]
or ecx, eax
mov dword [0x49cf6c], ecx
mov dword [0x49ee84], 0x69ad90d7
mov eax, esp
lea ecx, [esp + 0x5fe]
mov dword [eax], ecx
mov dword [esp + 0x48], ecx
call fcn.0042ff10
mov dword [esp + 0x5f8], eax
mov eax, dword [0x4a38ac]
and eax, 0xc2fe7220
mov dword [0x4a38ac], eax
call fcn.00405d80
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x5f8]
lea edx, [esp + edx + 0x5fe]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.00444ff0
mov ecx, dword [0x4a86ac]
or ecx, 0x44a24040
mov dword [0x4a86ac], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x5809
call fcn.004033e0
mov dword [esp + 0x774], eax
mov di, word [0x492400]
movsx eax, di
mov ecx, dword [0x49e64c]
imul ecx, eax
mov dword [0x49e64c], ecx
mov eax, dword [esp + 0x774]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x48]
mov dword [ecx], eax
call fcn.004540a0
mov di, word [0x491f9c]
mov cx, di
and ecx, 0xb8b7
mov di, cx
mov word [0x491f9c], di
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x3ccf
mov dword [esp + 0x44], eax
call fcn.004033e0
mov dword [esp + 0x770], eax
mov di, word [0x49787c]
mov ax, di
dec eax
mov bx, ax
mov word [0x49787c], bx
movsx eax, di
and eax, 0x488c37a3
mov ecx, dword [0x4a7824]
xor ecx, 0xffffffff
add ecx, 0x30e5c1e7
cmp eax, ecx
jl 0x448c24
mov eax, dword [0x49c750]
xor eax, 0x71eee843
mov dword [0x49c750], eax
mov eax, 0xfb7b08c
mov ecx, dword [esp + 0x774]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x40], eax
call fcn.0043ade0
mov eax, dword [0x4a649c]
mov ecx, eax
dec ecx
mov dword [0x4a649c], ecx
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jle 0x448c72
mov eax, dword [0x4a1e5c]
or eax, 0xad4fa141
mov dword [0x4a1e5c], eax
jmp 0x448c8a
mov ax, word [0x4968a0]
mov cx, ax
add ecx, 0xab2d7afd
mov ax, cx
mov word [0x4968a0], ax
mov eax, dword [esp + 0x770]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5fe]
mov dword [ecx], eax
call fcn.004545d1
mov dword [esp + 0x768], eax
mov eax, dword [0x4a6964]
xor eax, 0xfbc4ff7f
mov ecx, dword [0x4aab5c]
and ecx, eax
mov dword [0x4aab5c], ecx
mov eax, dword [esp + 0x770]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0043ade0
mov eax, dword [0x49ee74]
imul eax, eax, 0x6787bdc1
mov dword [0x49ee74], eax
cmp dword [esp + 0x768], 0
je 0x4490a0
mov eax, 0xb46d0e14
mov ecx, dword [0x49dfd4]
xor ecx, 0x602a0540
mov dword [0x49dfd4], ecx
mov dx, word [0x49121a]
movsx ecx, dx
and ecx, 0xbb0a001c
mov esi, dword [0x49c644]
or esi, ecx
mov dword [0x49c644], esi
mov ecx, dword [esp + 0x768]
mov esi, dword [esp + 0x778]
mov dword [esp + 0x3c], ecx
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.0043c9e0
mov ecx, dword [esp + 0x778]
mov dword [esp + 0x34], eax
call fcn.00444360
mov ecx, esp
mov esi, dword [esp + 0x3c]
mov dword [ecx + 0xc], esi
mov esi, dword [esp + 0x34]
mov dword [ecx + 4], esi
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.00454784
mov ecx, dword [0x4a5e78]
mov esi, ecx
dec esi
mov dword [0x4a5e78], esi
or ecx, 0x8f3f6055
mov esi, dword [0x49ef6c]
xor esi, ecx
mov dword [0x49ef6c], esi
mov ecx, dword [esp + 0x768]
mov esi, esp
mov dword [esi], ecx
mov dword [esp + 0x30], eax
call fcn.00454872
mov ecx, dword [0x49c10c]
mov esi, ecx
dec esi
mov dword [0x49c10c], esi
or ecx, 0x90a85fa6
mov esi, dword [0x49ba00]
shl esi, 4
or ecx, esi
mov esi, dword [esp + 0x38]
cmp esi, ecx
mov dword [esp + 0x2c], eax
jle 0x448df7
mov eax, dword [0x4a2cbc]
and eax, 0xa1410501
mov ecx, dword [0x4aaf60]
or ecx, eax
mov dword [0x4aaf60], ecx
mov ecx, dword [esp + 0x778]
call fcn.00449840
mov ax, word [0x4983da]
mov cx, ax
imul ecx, ecx, 0xb2055f77
mov ax, cx
mov word [0x4983da], ax
mov byte [esp + 0x1a4], 0
mov ecx, dword [0x4a4a58]
mov edx, 0x553bd0d
sub edx, ecx
xor edx, 0x84e5fa8e
mov dword [0x4a7e74], edx
mov ecx, dword [0x48f608]
mov edx, esp
lea esi, [esp + 0x4e]
mov dword [edx + 4], esi
mov dword [edx + 8], 0x156
mov dword [edx], 0
call ecx
sub esp, 0xc
mov ecx, dword [0x4abb54]
mov edx, ecx
inc edx
mov dword [0x4abb54], edx
add ecx, 0x20044011
mov di, word [0x48fb8a]
mov dx, di
and edx, ecx
mov di, dx
mov word [0x48fb8a], di
mov byte [esp + 0x5f7], 0
mov ecx, dword [0x4a9f64]
cmp ecx, 0xcd7cf6dd
mov dword [esp + 0x28], eax
jne 0x448ec8
mov eax, dword [0x49c394]
mov ecx, eax
inc ecx
mov dword [0x49c394], ecx
and eax, 0xafec8564
mov ecx, dword [0x4a4494]
imul ecx, eax
mov dword [0x4a4494], ecx
mov eax, esp
mov dword [eax + 4], 0x15
mov dword [eax], 0x25c0
call fcn.004033e0
mov dword [esp + 0x76c], eax
mov eax, dword [0x49cd54]
imul eax, eax, 0x49228472
or eax, 0x79c7077e
mov ecx, dword [0x4aa878]
xor ecx, eax
mov dword [0x4aa878], ecx
mov eax, dword [0x4ae21c]
mov ecx, dword [0x4ae204]
mov edx, dword [esp + 0x76c]
mov esi, esp
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
lea eax, [esp + 0x4e]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
lea ecx, [esp + 0x1a5]
mov dword [esi], ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
call fcn.0045431f
mov dword [0x4a6d98], 0x59841b2c
mov ecx, dword [esp + 0x76c]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x1c], eax
call fcn.0043ade0
mov eax, dword [0x4a1258]
or eax, 0x26ef09f9
mov dword [0x4a1258], eax
mov eax, dword [0x4ae21c]
mov ecx, esp
mov dword [ecx], eax
call fcn.0043a160
mov dword [0x49e68c], 0x5b7f6f9b
mov ecx, esp
mov edx, dword [esp + 0x24]
mov dword [ecx + 4], edx
lea esi, [esp + 0x5fe]
mov dword [ecx], esi
mov dword [esp + 0x18], eax
call fcn.0044a470
mov di, word [0x497e92]
mov ax, di
and eax, 0x4c50
mov di, word [0x493b4a]
mov cx, di
imul ecx, eax
mov di, cx
mov word [0x493b4a], di
mov eax, esp
mov ecx, dword [esp + 0x24]
mov dword [eax], ecx
mov dword [eax + 4], 0x453
call fcn.00441e20
mov di, word [0x4932b0]
movsx eax, di
mov ecx, dword [0x49d28c]
imul ecx, eax
mov dword [0x49d28c], ecx
mov eax, esp
mov ecx, dword [esp + 0x20]
mov dword [eax], ecx
mov dword [eax + 4], 0x157
call fcn.00441e20
mov di, word [0x49210a]
movsx eax, di
mov ecx, dword [0x49a0d4]
sub ecx, eax
mov dword [0x49a0d4], ecx
mov eax, dword [0x48f664]
mov ecx, esp
mov dword [ecx], 0x16130
call eax
sub esp, 4
mov eax, dword [0x4a4008]
add eax, 0x3b76c33d
mov ecx, dword [0x49bb6c]
and ecx, 0xe4a1da5d
and ecx, 0x8fd038bc
cmp eax, ecx
jle 0x449066
mov eax, dword [0x49e47c]
or eax, 0xe6601cf3
mov dword [0x49e47c], eax
mov eax, dword [0x48f5b4]
mov ecx, esp
lea edx, [esp + 0x5fe]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x4a0c94]
add ecx, 0x6c572c0
and ecx, 0x16530d01
mov edx, dword [0x4a0ca0]
imul edx, ecx
mov dword [0x4a0ca0], edx
mov dword [esp + 0x14], eax
mov dword [0x4a2dd0], 0xc450140
mov eax, esp
lea ecx, [esp + 0x5fe]
mov dword [eax], ecx
mov dword [eax + 4], 0x16a
call fcn.00441e20
mov dx, word [0x4931e6]
mov ax, dx
add eax, 0x93f4e6bf
mov dx, ax
mov word [0x4931e6], dx
mov ax, word [0x494b94]
mov cx, ax
and ecx, 0x3fa5
mov ax, cx
mov word [0x494b94], ax
add esp, 0x77c
pop esi
pop edi
pop ebx
ret