Function at 0x431e20
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x34
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, 0x3809b46a
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [0x487078]
xor eax, 0xd15c6d13
mov dword [0x487078], eax
mov eax, dword [0x48a174]
mov ecx, eax
dec ecx
mov dword [0x48a174], ecx
and eax, 0x9d9106e0
mov ecx, dword [0x4863ac]
inc ecx
mov dword [0x4863ac], ecx
sub edx, ecx
sub edx, 0x66dfb9c
cmp eax, edx
jge 0x431ed6
mov eax, dword [0x48833c]
mov ecx, 0x3193bef1
sub ecx, eax
mov eax, dword [0x48bd94]
dec eax
mov dword [0x48bd94], eax
cmp ecx, eax
je 0x431eb5
mov ax, word [0x491fe8]
mov cx, ax
xor ecx, 0xf78f
mov ax, cx
mov word [0x491fe8], ax
jmp 0x431ed1
mov eax, dword [0x487674]
and eax, 0x33010602
mov ecx, dword [0x487d88]
lea eax, [ecx + eax - 0x3721c60f]
mov dword [0x487d88], eax
jmp 0x431ed6
cmp dword [0x49492c], 0
jne 0x431f0e
mov eax, dword [0x482944]
mov ecx, dword [0x4876b4]
or eax, ecx
or eax, 0xcc23c626
mov dword [0x4876b4], eax
call fcn.00428710
mov dword [0x49492c], eax
mov dword [0x487774], 0x33d58215
mov eax, 0x5bbeda35
mov ecx, dword [0x487064]
mov edx, ecx
dec edx
mov dword [0x487064], edx
sub ecx, 0xaa905ef7
cmp eax, ecx
jne 0x431f6d
mov eax, 0x836cd3f5
mov ecx, dword [0x4847fc]
cmp eax, ecx
jge 0x431f68
mov ax, word [0x490554]
movsx ecx, ax
not ecx
add ecx, 0x123ad34b
xor ecx, 0x85007651
mov edx, dword [0x486474]
and edx, ecx
mov dword [0x486474], edx
jmp 0x431f6d
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x1c4
call fcn.0044b9d0
mov dword [esp + 0x28], eax
mov eax, dword [0x484adc]
mov ecx, eax
dec ecx
mov dword [0x484adc], ecx
mov ecx, dword [0x4859f4]
sub ecx, eax
mov dword [0x4859f4], ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00456995
mov dword [esp + 0x20], eax
mov eax, dword [0x484664]
imul eax, eax, 0x649a919f
and eax, 0xc77c7ac0
mov si, word [0x4917d4]
movsx ecx, si
xor ecx, 0xffffffff
xor ecx, 0x9a8027d3
or ecx, 0xb0b5fbd5
cmp eax, ecx
jge 0x431ffe
mov eax, dword [0x48a70c]
add eax, 0x9a219d8
mov dword [0x48a70c], eax
jmp 0x43201b
mov ax, word [0x49170a]
movsx ecx, ax
xor ecx, 0xb0eba19
mov edx, dword [0x48b230]
add edx, ecx
mov dword [0x48b230], edx
mov eax, 0xdbe24e70
mov ecx, dword [esp + 0x28]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 3
mov dword [esp + 0x1c], eax
call fcn.0041e2a0
mov si, word [0x4907e4]
mov ax, si
dec eax
mov si, ax
mov word [0x4907e4], si
movsx eax, si
mov ecx, dword [0x48dc84]
add eax, ecx
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jne 0x4320c3
mov eax, 0xba8ec00f
mov ecx, dword [0x484f28]
xor ecx, 0x305ca810
mov edx, dword [0x48a538]
imul edx, edx, 0xb54727a
sub eax, edx
cmp ecx, eax
jge 0x4320a8
mov eax, dword [0x4886f0]
sar eax, 2
cmp eax, 0xb8f14bc5
jne 0x4320a3
jmp 0x4320a3
jmp 0x4320be
mov eax, dword [0x4839ec]
not eax
or eax, 0x7af7
mov cx, ax
mov word [0x48f9da], cx
jmp 0x4320db
mov ax, word [0x4909f4]
mov cx, ax
add ecx, 0xcef452a4
mov ax, cx
mov word [0x4909f4], ax
cmp dword [esp + 0x20], 0
jne 0x4321c3
mov eax, 0x5fea2e52
mov dword [0x486984], 0xd48b68ea
mov ecx, dword [0x481644]
mov edx, esp
mov dword [edx], 0x3e8
mov dword [esp + 0x18], eax
call ecx
sub esp, 4
mov eax, dword [0x489ed8]
add eax, 0xeff8eb8a
mov dword [0x489ed8], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x1c4
call fcn.0044b9d0
mov dword [esp + 0x24], eax
mov eax, dword [0x483cb0]
sar eax, 7
mov ecx, dword [esp + 0x18]
cmp ecx, eax
je 0x432157
mov eax, dword [0x4873d8]
imul eax, eax, 0x80cec424
mov dword [0x4873d8], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00456995
mov dword [esp + 0x20], eax
mov eax, dword [0x483cb4]
mov ecx, eax
dec ecx
mov dword [0x483cb4], ecx
add eax, 0xa25aec6
or eax, 0xb8f4507
mov ecx, dword [0x48be68]
xor ecx, eax
mov dword [0x48be68], ecx
mov eax, dword [esp + 0x24]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0041e2a0
mov si, word [0x491f68]
mov ax, si
imul eax, eax, 0xc59d1587
mov si, ax
mov word [0x491f68], si
mov eax, dword [0x4824d4]
add eax, 0x6e785ec1
or eax, 0xb4dd
mov cx, word [0x48e0b4]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x48e0b4], cx
cmp dword [esp + 0x20], 0
je 0x432368
mov eax, 0xae510142
mov ecx, dword [0x48c79c]
shl ecx, 4
add ecx, 0x7d935cac
add ecx, 0x8e9fb6fd
cmp eax, ecx
jne 0x43222a
mov eax, dword [0x4894ac]
xor eax, 0xfdd2b9f
mov dword [0x4894ac], eax
jmp 0x4322bf
mov eax, 0x5ec9ca7a
mov ecx, dword [0x485b78]
dec ecx
mov dword [0x485b78], ecx
mov edx, dword [0x4839fc]
and edx, 0xd3d4e5b1
or ecx, edx
cmp eax, ecx
jge 0x432284
mov ax, word [0x49183a]
movsx ecx, ax
imul ecx, ecx, 0xcf2cdacd
mov ax, word [0x49298c]
movsx edx, ax
shl edx, 3
cmp ecx, edx
jg 0x43227a
jmp 0x43227f
jmp 0x43227f
jmp 0x4322ba
mov eax, 0x86d000
mov ecx, dword [0x489890]
dec ecx
mov dword [0x489890], ecx
mov dx, word [0x491d40]
movsx esi, dx
and esi, 0x4ec73c4a
xor ecx, esi
cmp eax, ecx
jle 0x4322b5
jmp 0x4322b5
jmp 0x4322ba
jmp 0x4322bf
mov eax, dword [esp + 0x20]
mov ecx, esp
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], 1
mov dword [ecx + 4], 4
mov dword [ecx], 0x49492c
call fcn.00456b48
mov ecx, dword [0x4858d8]
mov edx, dword [0x48d37c]
mov esi, edx
dec esi
mov dword [0x48d37c], esi
imul edx, edx, 0x372ff984
sub ecx, edx
mov di, word [0x491ad4]
movsx edx, di
cmp ecx, edx
mov dword [esp + 0x14], eax
jge 0x432338
mov eax, dword [0x48c6a8]
shl eax, 9
add eax, 0x658b5a22
mov cx, word [0x492954]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x492954], cx
mov eax, dword [esp + 0x20]
mov ecx, esp
mov dword [ecx], eax
call fcn.00456c36
mov dx, word [0x48fcaa]
movsx ecx, dx
xor ecx, 0x2b10f902
mov esi, dword [0x484924]
imul esi, ecx
mov dword [0x484924], esi
mov dword [esp + 0x10], eax
mov dword [0x48bb5c], 0x83ae7ee6
add esp, 0x34
pop esi
pop edi
ret