Function at 0x4405d0
Capabilities:
Write file on windows

Disassembly:
push ebx
push edi
push esi
sub esp, 0x690
mov eax, dword [esp + 0x6a0]
mov dword [esp + 0x68c], eax
mov cx, word [0x49fc54]
movsx eax, cx
imul eax, eax, 0x5c893ffe
mov edx, dword [0x48435c]
lea eax, [eax + edx - 0x1255801a]
mov dword [0x48435c], eax
mov eax, dword [esp + 0x68c]
mov ecx, eax
call fcn.0044d730
cmp eax, 0x8000
jbe 0x440e4e
mov eax, 0xb0bd0afc
mov word [0x4a0c20], 0x3852
mov ecx, dword [0x4940a8]
or ecx, 0x6a1a9a1b
mov dword [0x4940a8], ecx
mov dx, word [0x4a5e24]
mov cx, dx
mov esi, ecx
dec esi
mov dx, si
mov word [0x4a5e24], dx
add ecx, 0xbefd4483
or ecx, 0x72f3
mov dx, word [0x4a2c76]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x4a2c76], dx
mov dx, word [0x49c768]
mov cx, dx
xor ecx, 0xbb18
mov dx, cx
mov word [0x49c768], dx
mov ecx, esp
lea esi, [esp + 0x564]
mov dword [ecx], esi
mov dword [esp + 0x54], eax
call fcn.00415900
mov dword [esp + 0x560], eax
mov eax, dword [0x489188]
mov ecx, eax
dec ecx
mov dword [0x489188], ecx
xor eax, 0x5099a6e0
mov ecx, dword [esp + 0x54]
cmp ecx, eax
jg 0x4406de
mov eax, dword [0x48b680]
or eax, 0x643d7d1a
mov dword [0x491edc], eax
mov eax, 0x4019609
mov dword [esp + 0x50], eax
call fcn.0041cd50
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x560]
lea edx, [esp + edx + 0x564]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.00418360
mov ecx, dword [0x490748]
add ecx, 0x314e6e6d
mov dword [0x490748], ecx
mov ecx, esp
mov dword [ecx + 4], 5
mov dword [ecx], 0x4257
call fcn.004211c0
mov dword [esp + 0x688], eax
mov eax, dword [0x48b224]
add eax, 0x4bd47300
mov dword [0x48b224], eax
mov eax, dword [esp + 0x688]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x564]
mov dword [ecx], eax
call fcn.00454b80
mov ecx, dword [0x48f7f8]
and ecx, 0x4349dc8d
mov edx, dword [esp + 0x50]
cmp edx, ecx
mov dword [esp + 0x4c], eax
je 0x4407b9
mov ax, word [0x49badc]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x49badc], dx
movsx ecx, ax
mov esi, dword [0x498ae8]
add esi, 0xf1068d92
xor ecx, esi
mov esi, dword [0x482a3c]
or esi, ecx
mov dword [0x482a3c], esi
jmp 0x4407d1
mov ax, word [0x49e0f4]
mov cx, ax
xor ecx, 0xb7ba
mov ax, cx
mov word [0x49e0f4], ax
mov eax, 0x3551f976
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x41fa
mov dword [esp + 0x48], eax
call fcn.004211c0
mov dword [esp + 0x684], eax
mov dx, word [0x49d784]
mov ax, dx
inc eax
mov si, ax
mov word [0x49d784], si
movsx eax, dx
mov dx, word [0x4a3e86]
movsx ecx, dx
sar ecx, 6
xor eax, ecx
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jle 0x440832
mov dword [0x483ce4], 0xb82adb78
mov eax, 0xa1100543
mov ecx, dword [esp + 0x688]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 5
mov dword [esp + 0x44], eax
call fcn.0040b750
mov si, word [0x49db40]
movsx eax, si
shl eax, 9
mov ecx, dword [esp + 0x44]
cmp ecx, eax
jl 0x44087b
mov eax, dword [0x485698]
imul eax, eax, 0xb05706c7
mov dword [0x485698], eax
mov eax, dword [esp + 0x684]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x564]
mov dword [ecx], eax
call fcn.004557c1
mov dword [esp + 0x67c], eax
mov eax, dword [0x496678]
shl eax, 6
add eax, 0x4f9f16a
cmp eax, 0xeddb7c68
jge 0x4408cf
mov eax, dword [0x4916ac]
sar eax, 0xa
or eax, 0x766b571f
mov ecx, dword [0x490c88]
xor ecx, eax
mov dword [0x490c88], ecx
mov eax, 0xf53afbeb
mov ecx, dword [esp + 0x684]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 3
mov dword [esp + 0x40], eax
call fcn.0040b750
mov eax, dword [0x488f50]
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jge 0x44092b
mov ax, word [0x4a1788]
movsx ecx, ax
mov ax, word [0x4a1c16]
movsx edx, ax
imul ecx, edx
shl ecx, 8
mov edx, dword [0x494de0]
sub edx, ecx
mov dword [0x494de0], edx
jmp 0x440944
mov eax, dword [0x47fd60]
imul eax, eax, 0x53ed57e5
mov ecx, dword [0x49638c]
and ecx, eax
mov dword [0x49638c], ecx
cmp dword [esp + 0x67c], 0
je 0x440db3
mov ax, word [0x4a2006]
movsx ecx, ax
or ecx, 0xa42ca53e
cmp ecx, 0xc9d605a6
jge 0x4409d3
mov eax, dword [0x4867a0]
sar eax, 8
mov ecx, 0xf6a7d8a5
sub ecx, eax
mov dx, word [0x49add6]
mov ax, dx
dec eax
mov si, ax
mov word [0x49add6], si
movsx eax, dx
or ecx, eax
cmp ecx, 0x5df8a10b
jne 0x4409bf
mov ax, word [0x4a32d2]
mov cx, ax
xor ecx, 0xbf00
mov ax, cx
mov word [0x4a32d2], ax
jmp 0x4409ce
mov eax, dword [0x485890]
and eax, 0x3657978c
mov dword [0x485890], eax
jmp 0x4409d3
mov eax, dword [0x487b10]
shl eax, 5
and eax, 0xc34756c5
xor eax, 0x9a02524c
cmp eax, 0xd11f955a
jg 0x4409ff
mov eax, dword [0x4996d4]
add eax, 0xff5df76
mov dword [0x4996d4], eax
mov eax, 0xb4fdf7df
mov ecx, dword [esp + 0x67c]
mov edx, dword [esp + 0x68c]
mov dword [esp + 0x3c], ecx
mov ecx, edx
mov dword [esp + 0x38], eax
call fcn.0044d730
mov ecx, dword [esp + 0x68c]
mov dword [esp + 0x34], eax
call fcn.0044f560
mov ecx, esp
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x34]
mov dword [ecx + 4], edx
mov dword [ecx], eax
mov dword [ecx + 8], 1
call fcn.00455974
mov ecx, dword [0x4929d0]
imul ecx, ecx, 0xf6075b3b
mov dword [0x4929d0], ecx
mov ecx, dword [esp + 0x67c]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x30], eax
call fcn.00455a62
mov si, word [0x49ad2a]
mov cx, si
mov edx, ecx
inc edx
mov si, dx
mov word [0x49ad2a], si
mov si, word [0x49e79c]
mov dx, si
lea ecx, [edx + ecx + 1]
mov si, cx
mov word [0x49e79c], si
mov ecx, dword [esp + 0x68c]
mov dword [esp + 0x2c], eax
call fcn.0044f570
mov eax, dword [0x486ea0]
shl eax, 1
or eax, 0xfafc6317
mov ecx, dword [esp + 0x38]
cmp ecx, eax
jne 0x440adc
mov eax, dword [0x487150]
xor eax, 0xdef3faf4
mov dword [0x487150], eax
mov byte [esp + 0x15e], 0
mov eax, dword [0x49307c]
mov ecx, eax
dec ecx
mov dword [0x49307c], ecx
mov ecx, dword [0x497a00]
add ecx, 0xa9e275bd
and eax, ecx
mov dx, word [0x49b9da]
mov cx, dx
add ecx, eax
mov dx, cx
mov word [0x49b9da], dx
mov eax, dword [0x47f068]
mov ecx, esp
lea esi, [esp + 0x5a]
mov dword [ecx + 4], esi
mov dword [ecx + 8], 0x104
mov dword [ecx], 0
call eax
sub esp, 0xc
mov ecx, dword [0x491fe0]
mov esi, ecx
dec esi
mov dword [0x491fe0], esi
and ecx, 0x632c7379
cmp ecx, 0xd4f88e3c
mov dword [esp + 0x28], eax
jne 0x440b73
mov ax, word [0x49e9ee]
mov cx, ax
xor ecx, 0x48fb
mov ax, cx
mov word [0x49e9ee], ax
mov byte [esp + 0x55f], 0
mov ax, word [0x4a13c2]
mov cx, ax
imul ecx, ecx, 0xcac6d92a
mov ax, cx
mov word [0x4a13c2], ax
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x1099
call fcn.004211c0
mov dword [esp + 0x680], eax
mov eax, dword [0x494e54]
sar eax, 9
mov dx, word [0x49f958]
movsx ecx, dx
shl ecx, 0xa
and eax, ecx
or eax, 0xa2336723
cmp eax, 0xbeec8021
jge 0x440c44
mov ax, word [0x49baf0]
movsx ecx, ax
add ecx, 0x71fbea63
or ecx, 0x2770adf5
mov edx, dword [0x4800d8]
add edx, 0x49f6ea68
cmp ecx, edx
jne 0x440c1b
mov ax, word [0x4a6f4c]
mov cx, ax
or ecx, 0x9e3e
mov ax, cx
mov word [0x4a6f4c], ax
jmp 0x440c3f
mov eax, 0x893b1961
mov ecx, dword [0x48fa34]
inc ecx
mov dword [0x48fa34], ecx
cmp eax, ecx
jge 0x440c3a
jmp 0x440c3a
jmp 0x440c3f
jmp 0x440c44
mov eax, 0xa3d6c13a
mov ecx, dword [0x4a7a04]
mov edx, dword [0x4a79ec]
mov esi, dword [esp + 0x680]
mov edi, esp
mov dword [edi + 0x10], ecx
mov dword [edi + 0xc], edx
lea ecx, [esp + 0x5a]
mov dword [edi + 8], ecx
mov dword [edi + 4], esi
lea ecx, [esp + 0x15f]
mov dword [edi], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
call fcn.00454fff
mov ecx, dword [0x4976a0]
and ecx, 0x26943021
mov dword [0x494914], ecx
mov ecx, dword [esp + 0x680]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x1c], eax
call fcn.0040b750
mov eax, dword [0x486cb8]
or eax, 0x2b1dca7e
mov dword [0x498e14], eax
mov eax, dword [0x4a7a04]
mov ecx, esp
mov dword [ecx], eax
call fcn.004190e0
mov bx, word [0x4a0fd8]
mov cx, bx
or ecx, 0x451c
mov bx, cx
mov word [0x4a0fd8], bx
mov ecx, esp
mov edx, dword [esp + 0x20]
mov dword [ecx + 4], edx
lea esi, [esp + 0x564]
mov dword [ecx], esi
mov dword [esp + 0x18], eax
call fcn.0043c5b0
mov dword [0x484d9c], 0x4528f18f
mov eax, esp
mov ecx, dword [esp + 0x20]
mov dword [eax], ecx
mov dword [eax + 4], 0x401
call fcn.0043d0b0
mov eax, dword [0x4806f4]
inc eax
mov dword [0x4806f4], eax
and eax, 0xa0c19787
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jg 0x440d4c
mov eax, dword [0x498c08]
add eax, 0x6aebfd72
mov dword [0x498c08], eax
mov eax, esp
lea ecx, [esp + 0x5a]
mov dword [eax], ecx
mov dword [eax + 4], 0x105
call fcn.0043d0b0
mov eax, dword [0x48a18c]
add eax, 0x84399094
mov dword [0x48a18c], eax
mov eax, dword [0x47f0c4]
mov ecx, esp
mov dword [ecx], 0x15f90
call eax
sub esp, 4
mov eax, dword [0x48e0e4]
and eax, 0x87065c35
mov dword [0x48e0e4], eax
mov eax, dword [0x47f014]
mov ecx, esp
lea edx, [esp + 0x564]
mov dword [ecx], edx
call eax
sub esp, 4
mov dword [0x4835e4], 0x81635803
mov dword [esp + 0x14], eax
mov ax, word [0x49af1a]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49af1a], dx
movsx ecx, ax
or ecx, 0x9fc19b70
mov esi, dword [0x47f3cc]
and esi, ecx
mov dword [0x47f3cc], esi
mov ecx, esp
lea esi, [esp + 0x564]
mov dword [ecx], esi
mov dword [ecx + 4], 0x118
call fcn.0043d0b0
mov ax, word [0x49fc78]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x49fc78], dx
movsx ecx, ax
cmp ecx, 0x45da0c76
jne 0x440e49
mov eax, 0xfd7bdc89
mov cx, word [0x49c5ea]
movsx edx, cx
or edx, 0xa4d0c7c7
or edx, 0x2bda2c04
cmp eax, edx
jge 0x440e44
mov word [0x49f04a], 0x68d0
jmp 0x440e49
jmp 0x440e4e
mov eax, 0xf6e5c300
mov ecx, dword [0x492048]
cmp eax, ecx
jge 0x440e79
mov ax, word [0x49cc3a]
mov cx, ax
and ecx, 0x134e
mov ax, cx
mov word [0x49cc3a], ax
add esp, 0x690
pop esi
pop edi
pop ebx
ret