Function at 0x430810
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x754
mov eax, dword [esp + 0x760]
mov dword [esp + 0x750], eax
mov eax, dword [0x49e49c]
or eax, 0x8011c1a4
mov dword [0x49e49c], eax
mov eax, dword [esp + 0x750]
mov ecx, eax
call fcn.0042ce10
cmp eax, 0x8045
jbe 0x430f8e
mov dword [0x4a8a7c], 0x641a1992
mov eax, dword [0x4a4b94]
lea eax, [eax + eax - 0xaa34bb]
or eax, 0x37c9
mov cx, word [0x4b2f68]
mov dx, cx
add edx, eax
mov cx, dx
mov word [0x4b2f68], cx
mov eax, dword [0x499130]
dec eax
mov dword [0x499130], eax
imul eax, eax, 0x59dc67f9
and eax, 0x7327
mov cx, word [0x4b5f1a]
mov dx, cx
sub edx, eax
mov cx, dx
mov word [0x4b5f1a], cx
mov cx, word [0x4b2582]
movsx eax, cx
mov edx, 0xa02f3bab
sub edx, eax
mov eax, dword [0x49ea70]
xor eax, 0xffffffff
add edx, eax
cmp edx, 0xe3d1e551
jg 0x4308e6
mov eax, dword [0x491e44]
and eax, 0xea4e9de0
mov dword [0x491e44], eax
jmp 0x430904
mov ax, word [0x4ad78a]
movsx ecx, ax
mov edx, 0xe71dc008
sub edx, ecx
mov ecx, dword [0x498ee4]
and ecx, edx
mov dword [0x498ee4], ecx
mov eax, esp
lea ecx, [esp + 0x5e3]
mov dword [eax], ecx
call fcn.0041c840
mov dword [esp + 0x5dc], eax
mov eax, dword [0x4a96cc]
xor eax, 0xd0c9147b
mov dword [0x4a96cc], eax
call fcn.0044f2a0
movzx ecx, al
and ecx, 3
add ecx, 7
mov edx, dword [esp + 0x5dc]
lea edx, [esp + edx + 0x5e3]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], edx
call fcn.00412730
mov di, word [0x4b2464]
movsx ecx, di
or ecx, 0x60bb7a04
mov edx, dword [0x49c79c]
mov esi, edx
inc esi
mov dword [0x49c79c], esi
imul edx, edx, 0x44f23380
and edx, 0x7399497e
cmp ecx, edx
jge 0x430995
mov eax, dword [0x4a4ff8]
imul eax, eax, 0xf62c5c1d
mov dword [0x4a4ff8], eax
mov eax, esp
mov dword [eax + 4], 5
mov dword [eax], 0x876
call fcn.0042df40
mov dword [esp + 0x74c], eax
mov dword [0x492508], 0xe7a8adce
mov eax, dword [esp + 0x74c]
mov ecx, esp
mov dword [ecx + 4], eax
lea eax, [esp + 0x5e3]
mov dword [ecx], eax
call fcn.00455420
mov ecx, dword [0x49cf60]
shl ecx, 9
add ecx, 0xa4f8009a
add ecx, 0x13a42203
cmp ecx, 0xc1892b30
mov dword [esp + 0x48], eax
jl 0x430a08
mov eax, dword [0x49901c]
and eax, 0x2e63a240
mov dword [0x49901c], eax
mov eax, 0x37982482
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x6e6
mov dword [esp + 0x44], eax
call fcn.0042df40
mov dword [esp + 0x748], eax
mov eax, dword [0x49e5ec]
mov ecx, eax
dec ecx
mov dword [0x49e5ec], ecx
add eax, 0x6de3c2ef
mov ecx, dword [0x49e8d4]
and eax, ecx
mov ecx, dword [esp + 0x44]
cmp ecx, eax
jg 0x430a86
mov eax, 0xcb69e76
mov ecx, dword [0x492748]
xor ecx, 0xffffffff
cmp eax, ecx
jne 0x430a81
mov ax, word [0x4b40a8]
mov cx, ax
and ecx, 0x307c
mov ax, cx
mov word [0x4b40a8], ax
jmp 0x430a86
mov eax, dword [esp + 0x74c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 5
call fcn.0041e970
mov eax, dword [0x493140]
dec eax
mov dword [0x493140], eax
or eax, 0x7ffefeff
mov dx, word [0x4b11fa]
movsx ecx, dx
xor ecx, 0xffffffff
imul ecx, ecx, 0xeb68960c
cmp eax, ecx
jg 0x430ae4
mov eax, dword [0x4a8dac]
mov ecx, dword [0x4a2e48]
xor eax, ecx
mov ecx, dword [0x4a15c4]
imul ecx, eax
mov dword [0x4a15c4], ecx
mov eax, 0x897886b1
mov ecx, dword [esp + 0x748]
mov edx, esp
mov dword [edx + 4], ecx
lea ecx, [esp + 0x5e3]
mov dword [edx], ecx
mov dword [esp + 0x40], eax
call fcn.00455bf3
mov dword [esp + 0x740], eax
mov eax, dword [0x4a1bf8]
shl eax, 7
mov ecx, dword [0x4a1d5c]
shl ecx, 5
or eax, ecx
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jne 0x430b41
mov eax, dword [0x4a25a4]
add eax, 0xaeef3fd0
mov dword [0x4a25a4], eax
jmp 0x430b4b
mov dword [0x4a3840], 0xa9f3e3c0
mov eax, dword [esp + 0x748]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0041e970
mov eax, dword [0x49890c]
and eax, 0x7c43233c
mov dword [0x49890c], eax
cmp dword [esp + 0x740], 0
je 0x430f47
mov eax, 0xf2d628cf
mov ecx, dword [0x4a83ec]
shl ecx, 7
xor ecx, 0xf601
mov dx, word [0x4ab9ba]
mov si, dx
or esi, ecx
mov dx, si
mov word [0x4ab9ba], dx
mov dword [0x496a44], 0xc70de4ba
mov ecx, dword [esp + 0x740]
mov esi, dword [esp + 0x750]
mov dword [esp + 0x3c], ecx
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.0042ce10
mov ecx, dword [esp + 0x750]
mov dword [esp + 0x34], eax
call fcn.00413b90
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.004562d6
mov ecx, dword [0x4a0d24]
imul ecx, ecx, 0xbe2ff445
mov dword [0x4a0d24], ecx
mov ecx, dword [esp + 0x740]
mov esi, esp
mov dword [esi], ecx
mov dword [esp + 0x30], eax
call fcn.004563c4
mov dx, word [0x4af6ba]
movsx ecx, dx
add ecx, 0x603fecf7
and ecx, 0x9790b2d0
mov esi, dword [esp + 0x38]
cmp esi, ecx
mov dword [esp + 0x2c], eax
jl 0x430c62
mov eax, dword [0x4a8fc8]
mov ecx, eax
inc ecx
mov dword [0x4a8fc8], ecx
xor eax, 0x434be945
mov dword [0x4a74c4], eax
mov ecx, dword [esp + 0x750]
call fcn.00423140
mov ecx, dword [0x49ed2c]
add ecx, 0xc80864e
mov dword [0x49ed2c], ecx
mov byte [esp + 0x195], 0
mov ecx, dword [0x49696c]
add ecx, 0xa4d1d849
mov dword [0x49696c], ecx
mov ecx, dword [0x491d48]
mov eax, esp
lea edx, [esp + 0x4c]
mov dword [eax + 4], edx
mov dword [eax + 8], 0x149
mov dword [eax], 0
call ecx
sub esp, 0xc
mov ecx, dword [0x495b8c]
mov edx, 0x47f25c5e
sub edx, ecx
mov si, word [0x4b08bc]
mov cx, si
or edx, ecx
mov si, word [0x4b153a]
mov cx, si
imul ecx, edx
mov si, cx
mov word [0x4b153a], si
mov byte [esp + 0x5db], 0
mov si, word [0x4b184c]
movsx ecx, si
sar ecx, 9
mov edx, dword [0x49b4d8]
xor edx, ecx
mov dword [0x49b4d8], edx
mov ecx, esp
mov dword [ecx + 4], 0x15
mov dword [ecx], 0x2a43
mov dword [esp + 0x28], eax
call fcn.0042df40
mov dword [esp + 0x744], eax
mov si, word [0x4b0b18]
mov ax, si
inc eax
mov si, ax
mov word [0x4b0b18], si
movsx eax, si
add eax, 0x7bc7cad4
mov ecx, dword [0x4a262c]
sar ecx, 9
and eax, ecx
cmp eax, 0x18890ca0
je 0x430d7b
mov eax, dword [0x49891c]
lea eax, [eax*8 - 0x3dd1feac]
and eax, 0x4ed8
mov cx, ax
mov word [0x4b3fdc], cx
mov eax, dword [0x4b6a1c]
mov ecx, dword [0x4b6a04]
mov edx, dword [esp + 0x744]
mov esi, esp
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ecx
lea eax, [esp + 0x4c]
mov dword [esi + 8], eax
mov dword [esi + 4], edx
lea eax, [esp + 0x196]
mov dword [esi], eax
mov dword [esp + 0x24], eax
call fcn.00455d50
mov ecx, dword [0x49ea08]
mov di, word [0x4ad03c]
movsx edx, di
xor ecx, edx
mov edx, dword [0x498d04]
and edx, ecx
mov dword [0x498d04], edx
mov ecx, dword [esp + 0x744]
mov edx, esp
mov dword [edx + 4], ecx
mov dword [edx], 0x15
mov dword [esp + 0x20], eax
call fcn.0041e970
mov eax, dword [0x493c8c]
add eax, 0x5e7b0acc
mov dword [0x493c8c], eax
mov eax, dword [0x4b6a1c]
mov ecx, esp
mov dword [ecx], eax
call fcn.00447a00
mov ecx, dword [0x492508]
add ecx, 0xf92c05c
mov edx, dword [0x499530]
and edx, ecx
mov dword [0x499530], edx
mov ecx, esp
mov edx, dword [esp + 0x24]
mov dword [ecx + 4], edx
lea esi, [esp + 0x5e3]
mov dword [ecx], esi
mov dword [esp + 0x1c], eax
call fcn.0044fe40
mov eax, dword [0x4a1f74]
dec eax
mov dword [0x4a1f74], eax
xor eax, 0x931b3ebe
mov ecx, dword [0x49e058]
xor ecx, 0xffffffff
cmp eax, ecx
jg 0x430e72
mov eax, dword [0x498a78]
mov ecx, eax
inc ecx
mov dword [0x498a78], ecx
mov dword [0x4a21f0], eax
mov eax, 0xcdfaff6a
mov ecx, esp
lea edx, [esp + 0x196]
mov dword [ecx], edx
mov dword [ecx + 4], 0x446
mov dword [esp + 0x18], eax
call fcn.00439e20
mov eax, dword [0x49d208]
inc eax
mov dword [0x49d208], eax
or eax, 0x952
mov si, word [0x4ab398]
mov cx, si
imul ecx, eax
mov si, cx
mov word [0x4ab398], si
mov eax, esp
lea ecx, [esp + 0x4c]
mov dword [eax], ecx
mov dword [eax + 4], 0x14a
call fcn.00439e20
mov eax, dword [0x4940a8]
inc eax
mov dword [0x4940a8], eax
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jg 0x430ef3
mov eax, dword [0x498ed4]
add eax, 0xba3b699
mov dword [0x498ed4], eax
mov eax, dword [0x491da4]
mov ecx, esp
mov dword [ecx], 0x161cb
call eax
sub esp, 4
mov eax, dword [0x4a179c]
or eax, 0x1755731b
mov dword [0x4a179c], eax
mov eax, dword [0x491cf4]
mov ecx, esp
lea edx, [esp + 0x5e3]
mov dword [ecx], edx
call eax
sub esp, 4
mov ecx, dword [0x4a11bc]
mov edx, dword [0x49b614]
and ecx, edx
and ecx, 0xc1a478f6
mov dword [0x49b614], ecx
mov dword [esp + 0x14], eax
mov ax, word [0x4b304e]
mov cx, ax
or ecx, 0xdb39
mov ax, cx
mov word [0x4b304e], ax
mov ecx, esp
lea edx, [esp + 0x5e3]
mov dword [ecx], edx
mov dword [ecx + 4], 0x15d
call fcn.00439e20
mov ax, word [0x4b1c58]
mov cx, ax
imul ecx, ecx, 0xdaeefdff
mov ax, cx
mov word [0x4b1c58], ax
mov ax, word [0x4ac670]
mov cx, ax
add ecx, 0xf5609072
mov ax, cx
mov word [0x4ac670], ax
add esp, 0x754
pop esi
pop edi
ret