Function at 0x445720
Capabilities:
Write file on windows

Disassembly:
push ebx
push edi
push esi
sub esp, 0x70c
mov eax, dword [esp + 0x71c]
mov dword [esp + 0x708], eax
mov eax, dword [0x49242c]
xor eax, 0x2fbadf97
mov dword [0x49242c], eax
mov eax, dword [esp + 0x708]
mov ecx, eax
call fcn.00430d50
cmp eax, 0x802c
jbe 0x445e4d
mov ax, word [0x4a68f8]
movsx ecx, ax
mov edx, dword [0x49e67c]
and edx, ecx
mov dword [0x49e67c], edx
mov ecx, dword [0x499dcc]
mov edx, ecx
dec edx
mov dword [0x499dcc], edx
and ecx, 0x9a87ba89
mov edx, dword [0x49d160]
sub edx, ecx
mov dword [0x49d160], edx
mov ecx, dword [0x495904]
mov edx, ecx
dec edx
mov dword [0x495904], edx
add ecx, 0xf6be92f7
mov edx, dword [0x497634]
sub edx, ecx
mov dword [0x497634], edx
mov ecx, dword [0x496294]
xor ecx, 0xc91246a0
mov ax, word [0x4a9414]
mov dx, ax
dec edx
mov si, dx
mov word [0x4a9414], si
movsx edx, ax
imul edx, edx, 0x37faa550
mov edi, dword [0x49f3f0]
mov ebx, edi
inc ebx
mov dword [0x49f3f0], ebx
imul edx, edi
cmp ecx, edx
je 0x445820
mov eax, dword [0x49b204]
mov ecx, eax
inc ecx
mov dword [0x49b204], ecx
xor eax, 0xdfd2b1e6
mov ecx, dword [0x49dd10]
and ecx, eax
mov dword [0x49dd10], ecx
mov eax, 0xe840d727
mov ecx, esp
lea edx, [esp + 0x5b4]
mov dword [ecx], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], edx
call fcn.0044cd70
mov dword [esp + 0x5b0], eax
mov eax, dword [0x493414]
dec eax
mov dword [0x493414], eax
and eax, 0x82f80445
mov ecx, dword [0x49d918]
or ecx, eax
mov dword [0x49d918], ecx
call fcn.0044a600
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x5b0]
lea edx, [esp + edx + 0x5b4]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.00436d30
mov ecx, dword [0x497160]
and ecx, 0xa10a9bcc
mov edx, dword [0x495310]
xor edx, ecx
mov dword [0x495310], edx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x16d9
call fcn.00430db0
mov dword [esp + 0x704], eax
mov di, word [0x4a6422]
mov ax, di
xor eax, 0x210
mov di, ax
mov word [0x4a6422], di
mov eax, dword [esp + 0x704]
mov ecx, esp
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x48]
mov dword [ecx], eax
call fcn.00455230
mov ecx, dword [0x493d50]
mov di, word [0x4a4cc4]
movsx edx, di
xor edx, 0xffffffff
xor ecx, edx
xor ecx, 0x8d3d69d3
mov edx, dword [esp + 0x4c]
cmp edx, ecx
mov dword [esp + 0x44], eax
jg 0x44592e
mov eax, dword [0x497ccc]
and eax, 0x7a0c4f1a
mov dword [0x497ccc], eax
jmp 0x445959
mov ax, word [0x4a40e0]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4a40e0], ax
movsx ecx, ax
mov edx, dword [0x49cd34]
imul ecx, edx
imul ecx, ecx, 0xc483a64a
mov dword [0x49cd34], ecx
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0xf87
call fcn.00430db0
mov dword [esp + 0x700], eax
mov eax, dword [0x4941f4]
mov ecx, eax
dec ecx
mov dword [0x4941f4], ecx
xor eax, 0x4ba3488b
mov ecx, dword [0x49a658]
mov edx, dword [0x49a1d4]
dec edx
mov dword [0x49a1d4], edx
imul ecx, edx
mov edx, dword [0x490b00]
add ecx, edx
cmp eax, ecx
jge 0x4459b6
mov word [0x4a3f2e], 0x85b8
mov eax, 0xb271dc26
mov ecx, dword [esp + 0x704]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x40], eax
call fcn.00404f30
mov eax, dword [0x4966cc]
imul eax, eax, 0xb1594c05
mov si, word [0x4a41d0]
mov cx, si
dec ecx
mov si, cx
mov word [0x4a41d0], si
movsx ecx, si
imul eax, ecx
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jg 0x445a45
mov eax, 0x2f7f7749
mov ecx, dword [0x49f778]
mov edx, ecx
dec edx
mov dword [0x49f778], edx
cmp eax, ecx
je 0x445a40
mov eax, dword [0x48f644]
mov ecx, eax
dec ecx
mov dword [0x48f644], ecx
mov ecx, dword [0x499788]
sub ecx, eax
mov dword [0x499788], ecx
jmp 0x445a45
mov eax, dword [esp + 0x700]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5b4]
mov dword [ecx], eax
call fcn.0045540d
mov dword [esp + 0x6f8], eax
mov eax, dword [0x49f068]
sar eax, 7
imul eax, eax, 0xeac4024c
cmp eax, 0x97ca1c99
jle 0x445aa5
mov eax, 0xd0211a00
mov cx, word [0x4a8e9a]
movsx edx, cx
cmp eax, edx
je 0x445aa0
mov dword [0x48f3f8], 0x4e053bf6
jmp 0x445aa5
mov eax, dword [esp + 0x700]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.00404f30
mov dx, word [0x4a9ec8]
mov ax, dx
imul eax, eax, 0x67d8becc
mov dx, ax
mov word [0x4a9ec8], dx
cmp dword [esp + 0x6f8], 0
je 0x445e0c
mov dword [0x49f814], 0x397cad2a
mov eax, dword [0x499250]
add eax, 0xee081e8f
mov dword [0x499250], eax
mov eax, dword [esp + 0x6f8]
mov ecx, dword [esp + 0x708]
mov dword [esp + 0x3c], eax
call fcn.00430d50
mov ecx, dword [esp + 0x708]
mov dword [esp + 0x38], eax
call fcn.0041cb40
mov ecx, esp
mov edx, dword [esp + 0x3c]
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.004555c0
mov ecx, dword [0x494f74]
shr ecx, 1
and ecx, 0x7ae4bbb3
mov edx, dword [0x491eb8]
add edx, ecx
mov dword [0x491eb8], edx
mov ecx, dword [esp + 0x6f8]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x34], eax
call fcn.004556ae
mov word [0x4a2cfc], 0x2614
mov ecx, dword [esp + 0x708]
mov dword [esp + 0x30], eax
call fcn.00437280
mov eax, dword [0x4921c4]
and eax, 0x7fdf1ce
mov dword [0x4921c4], eax
mov byte [esp + 0x182], 0
mov eax, dword [0x493210]
xor eax, 0x82448184
mov dword [0x493210], eax
mov eax, dword [0x48e968]
mov ecx, esp
lea edx, [esp + 0x52]
mov dword [ecx + 4], edx
mov dword [ecx + 8], 0x130
mov dword [ecx], 0
call eax
sub esp, 0xc
mov si, word [0x4a5b74]
movsx ecx, si
mov edx, dword [0x491254]
mov edi, edx
dec edi
mov dword [0x491254], edi
lea ecx, [ecx + edx - 0x4a5e7fa8]
mov edx, dword [0x49debc]
sar edx, 0xa
imul edx, edx, 0xbeb814e2
add edx, 0xa390a80a
cmp ecx, edx
mov dword [esp + 0x2c], eax
jl 0x445c25
mov eax, dword [0x4a08ac]
mov ecx, dword [0x48f764]
add ecx, eax
mov dword [0x48f764], ecx
mov byte [esp + 0x5af], 0
mov eax, dword [0x48fdc4]
mov ecx, eax
inc ecx
mov dword [0x48fdc4], ecx
xor eax, 0xcfffa703
mov ecx, dword [0x493bf4]
sub ecx, eax
mov dword [0x493bf4], ecx
mov eax, esp
mov dword [eax + 4], 0x15
mov dword [eax], 0x2f36
call fcn.00430db0
mov dword [esp + 0x6fc], eax
mov eax, dword [0x49a360]
xor eax, 0x71ae0b85
cmp eax, 0x6b9ead52
jle 0x445cb4
mov ax, word [0x4a4f30]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x4a4f30], dx
movsx ecx, ax
mov ax, word [0x4a2f4a]
movsx esi, ax
imul ecx, esi
mov esi, dword [0x48f778]
lea ecx, [ecx + esi + 0x5deccf19]
mov dword [0x48f778], ecx
mov eax, dword [0x4aaec4]
mov ecx, dword [0x4aaeac]
mov edx, dword [esp + 0x6fc]
mov esi, esp
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
lea eax, [esp + 0x52]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
lea ecx, [esp + 0x183]
mov dword [esi], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], eax
call fcn.00455952
mov dword [0x497bec], 0xb283934c
mov ecx, dword [esp + 0x6fc]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x20], eax
call fcn.00404f30
mov dword [0x498960], 0x4114b53a
mov eax, dword [0x4aaec4]
mov ecx, esp
mov dword [ecx], eax
call fcn.00415d90
mov di, word [0x4a22ea]
mov cx, di
add ecx, 0x2206fc46
mov di, cx
mov word [0x4a22ea], di
mov ecx, esp
mov edx, dword [esp + 0x28]
mov dword [ecx + 4], edx
lea esi, [esp + 0x5b4]
mov dword [ecx], esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], esi
call fcn.0042fbf0
mov eax, dword [0x49f14c]
xor eax, 0xbf5f3cc0
mov dword [0x49f14c], eax
mov eax, esp
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
mov dword [eax + 4], 0x42d
call fcn.00417500
mov di, word [0x4a7cba]
mov ax, di
add eax, 0x1829270a
mov di, ax
mov word [0x4a7cba], di
mov eax, esp
mov ecx, dword [esp + 0x24]
mov dword [eax], ecx
mov dword [eax + 4], 0x131
call fcn.00417500
mov eax, dword [0x49c3b4]
or eax, 0xf4d2191d
mov dword [0x49c3b4], eax
mov eax, dword [0x48e9c4]
mov ecx, esp
mov dword [ecx], 0x16234
call eax
sub esp, 4
mov eax, dword [0x499408]
and eax, 0x41219838
mov dword [0x499408], eax
mov eax, dword [0x48e914]
mov ecx, esp
mov edx, dword [esp + 0x18]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x49fbbc]
and ecx, 0x168b4109
mov dword [0x49fbbc], ecx
mov dword [esp + 0x14], eax
mov ax, word [0x4a9d4e]
mov cx, ax
add ecx, 0x7ff7bdcb
mov ax, cx
mov word [0x4a9d4e], ax
mov ecx, esp
lea edx, [esp + 0x5b4]
mov dword [ecx], edx
mov dword [ecx + 4], 0x144
call fcn.00417500
mov ecx, dword [0x490598]
add ecx, 0x2db521c4
mov dword [0x490598], ecx
mov word [0x4a2a30], 0x1106
add esp, 0x70c
pop esi
pop edi
pop ebx
ret