Function at 0x43f110
Capabilities:
Write file on windows

Disassembly:
push esi
sub esp, 0x38
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
mov eax, dword [0x49df80]
mov ecx, eax
dec ecx
mov dword [0x49df80], ecx
cmp eax, 0xffb7ea65
jge 0x43f151
mov eax, dword [0x49ebf8]
or eax, 0x2084aaf7
mov dword [0x49ebf8], eax
jmp 0x43f161
mov eax, dword [0x49cb60]
imul eax, eax, 0x29751d2f
mov dword [0x49cb60], eax
mov eax, dword [0x4a7d84]
xor eax, 0x922cfb6c
mov dword [0x4a7d84], eax
cmp dword [0x4b4b3c], 0
jne 0x43f1de
mov eax, 0x9099d47
mov ecx, dword [0x4990cc]
cmp eax, ecx
jg 0x43f1a4
mov eax, dword [0x4a7fb0]
xor eax, 0x386301f1
mov dword [0x4a7fb0], eax
jmp 0x43f1b3
mov eax, dword [0x498638]
or eax, 0x8fead9fc
mov dword [0x498638], eax
call fcn.004043c0
mov dword [0x4b4b3c], eax
mov eax, dword [0x4a3afc]
mov ecx, eax
inc ecx
mov dword [0x4a3afc], ecx
add eax, 0xa8d0b800
mov ecx, dword [0x49843c]
or ecx, eax
mov dword [0x49843c], ecx
mov eax, 0x38015c9
mov ecx, dword [0x4a102c]
mov edx, ecx
dec edx
mov dword [0x4a102c], edx
xor ecx, 0x6dbd
mov si, word [0x4ac870]
mov dx, si
add edx, ecx
mov si, dx
mov word [0x4ac870], si
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x5d8b
mov dword [esp + 0x20], eax
call fcn.00437eb0
mov dword [esp + 0x2c], eax
mov eax, dword [0x49da28]
mov ecx, dword [esp + 0x20]
cmp ecx, eax
jle 0x43f2c4
mov eax, dword [0x4a9cfc]
mov ecx, eax
inc ecx
mov dword [0x4a9cfc], ecx
mov ecx, dword [0x4a0088]
not ecx
and ecx, 0x483e38bd
mov dx, word [0x4b12ba]
mov si, dx
dec esi
mov dx, si
mov word [0x4b12ba], dx
movsx esi, dx
or ecx, esi
cmp eax, ecx
je 0x43f288
mov dword [0x49e108], 0x2df9e684
jmp 0x43f2bf
mov eax, dword [0x49f09c]
inc eax
mov dword [0x49f09c], eax
mov ecx, dword [0x4a27dc]
mov edx, ecx
inc edx
mov dword [0x4a27dc], edx
sub ecx, 0x67a14126
xor eax, ecx
cmp eax, 0xcbac530c
jne 0x43f2ba
jmp 0x43f2ba
jmp 0x43f2bf
jmp 0x43f2c4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00456043
mov dword [esp + 0x24], eax
mov eax, dword [0x4a7770]
or eax, 0x783730e4
mov ecx, dword [0x4979c0]
xor ecx, eax
mov dword [0x4979c0], ecx
mov eax, dword [esp + 0x2c]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0044b770
mov si, word [0x4b4170]
movsx eax, si
shl eax, 5
add eax, 0xdc1a9999
or eax, 0xa6dc8d7b
mov ecx, dword [0x49cb2c]
add ecx, eax
mov dword [0x49cb2c], ecx
cmp dword [esp + 0x24], 0
jne 0x43f435
mov eax, 0x6ed5f7f2
mov ecx, dword [0x49df10]
add ecx, 0x43e37eb0
mov dword [0x49df10], ecx
mov ecx, dword [0x497604]
mov edx, esp
mov dword [edx], 0x40c
mov dword [esp + 0x1c], eax
call ecx
sub esp, 4
mov si, word [0x4b0a88]
movsx eax, si
xor eax, 0xffffffff
and eax, 0x69e940ba
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jl 0x43f38e
mov dword [0x4a8cb0], 0xcd0c82b2
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x5d8b
call fcn.00437eb0
mov dword [esp + 0x28], eax
mov eax, dword [0x49f054]
imul eax, eax, 0x440c87d
or eax, 0x29bf6ba9
mov ecx, dword [0x4a439c]
add ecx, eax
mov dword [0x4a439c], ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00456043
mov dword [esp + 0x24], eax
mov eax, dword [0x4a8c94]
add eax, 0x5f5d58a4
mov dword [0x4a8c94], eax
mov eax, dword [esp + 0x28]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0044b770
mov eax, dword [0x4a1164]
shl eax, 5
xor eax, 0x1d353f88
cmp eax, 0xfb7bfa9
jne 0x43f426
mov dword [0x49f848], 0x372e1c31
jmp 0x43f430
mov dword [0x4a17d4], 0x76617d7f
jmp 0x43f435
mov eax, 0x1f893683
mov ecx, dword [0x49cdc0]
add ecx, 0xb6ba2b
add ecx, 0x6c792cea
cmp eax, ecx
jle 0x43f47a
mov eax, dword [0x4983a4]
mov ecx, eax
inc ecx
mov dword [0x4983a4], ecx
add eax, 0xc3346fd3
and eax, 0x8f2a8b07
mov ecx, dword [0x4a1904]
xor ecx, eax
mov dword [0x4a1904], ecx
cmp dword [esp + 0x24], 0
je 0x43f58c
mov eax, dword [0x4a6748]
imul eax, eax, 0x20765234
and eax, 0x838c
mov cx, word [0x4ac8fc]
mov dx, cx
xor edx, eax
mov cx, dx
mov word [0x4ac8fc], cx
mov eax, dword [esp + 0x24]
mov edx, esp
mov dword [edx + 0xc], eax
mov dword [edx + 8], 1
mov dword [edx + 4], 4
mov dword [edx], 0x4b4b3c
call fcn.004561f6
mov cx, word [0x4af3b6]
mov dx, cx
inc edx
mov si, dx
mov word [0x4af3b6], si
movsx edx, cx
cmp edx, 0xeefc98f4
mov dword [esp + 0x18], eax
jle 0x43f539
mov eax, dword [0x499608]
mov ecx, eax
inc ecx
mov dword [0x499608], ecx
xor eax, 0x780c5e7
mov ecx, dword [0x4a4aa4]
xor ecx, 0xffffffff
add ecx, 0xd9cfbcc5
add ecx, 0x108ad49b
cmp eax, ecx
je 0x43f534
mov eax, dword [0x4aa0ac]
and eax, 0xda6ef6b9
mov dword [0x4aa0ac], eax
jmp 0x43f539
mov eax, 0xae1398f8
mov ecx, dword [esp + 0x24]
mov edx, esp
mov dword [edx], ecx
mov dword [esp + 0x14], eax
call fcn.004562e4
mov ecx, dword [0x4a6374]
or ecx, 0x692487ad
mov edx, dword [esp + 0x14]
cmp edx, ecx
mov dword [esp + 0x10], eax
jg 0x43f587
mov eax, dword [0x4983e8]
shl eax, 9
add eax, 0xfde16076
mov ecx, dword [0x4a56f0]
imul ecx, eax
mov dword [0x4a56f0], ecx
jmp 0x43f58c
mov eax, dword [0x498974]
shl eax, 6
mov ecx, dword [0x49e3f0]
sub ecx, eax
mov dword [0x49e3f0], ecx
add esp, 0x38
pop esi
ret