Function at 0x415fc0
Capabilities:
Write file on windows

Disassembly:
push edi
push esi
sub esp, 0x30
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], ecx
mov dx, word [0x4939b8]
mov ax, dx
mov ecx, eax
dec ecx
mov dx, cx
mov word [0x4939b8], dx
add eax, 0xb5e62e81
mov dx, word [0x492a10]
mov cx, dx
sub ecx, eax
mov dx, cx
mov word [0x492a10], dx
mov eax, dword [0x4a20e8]
add eax, eax
and eax, 0xe4b1d4e6
mov ecx, dword [0x4a4110]
sub ecx, eax
mov dword [0x4a4110], ecx
cmp dword [0x4b10b0], 0
jne 0x41605f
mov ax, word [0x494064]
mov cx, ax
xor ecx, 0xf47e
mov ax, cx
mov word [0x494064], ax
call fcn.0043a1a0
mov dword [0x4b10b0], eax
mov eax, dword [0x49dbf0]
and eax, 0xe31c77c
mov dword [0x49dbf0], eax
mov eax, 0x58025016
mov ecx, dword [0x4a6d30]
add ecx, 0x358c1fae
mov dword [0x4a6d30], ecx
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x32e2
mov dword [esp + 0x18], eax
call fcn.00410180
mov dword [esp + 0x24], eax
mov eax, dword [0x4a2938]
add eax, 0x52b1ec23
mov dword [0x4a2938], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00456056
mov dword [esp + 0x1c], eax
mov si, word [0x492464]
mov ax, si
dec eax
mov di, ax
mov word [0x492464], di
movsx eax, si
imul eax, eax, 0xd5f25f70
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jne 0x4160f2
mov eax, dword [0x4a8aec]
add eax, 0x737a3d48
mov dword [0x4a8aec], eax
mov eax, dword [esp + 0x24]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0044f050
mov word [0x49b1c0], 0xb0c8
cmp dword [esp + 0x1c], 0
jne 0x41623b
mov dword [0x4aab14], 0xe2c6f698
mov eax, dword [0x490d44]
mov ecx, esp
mov dword [ecx], 0x410
call eax
sub esp, 4
mov eax, dword [0x4a27b4]
or eax, 0x2ec9bbb7
mov dword [0x4a27b4], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x32e2
call fcn.00410180
mov dword [esp + 0x20], eax
mov eax, dword [0x4a3f84]
inc eax
mov dword [0x4a3f84], eax
xor eax, 0x83ff1b95
mov ecx, dword [0x49fda8]
or eax, ecx
cmp eax, 0x8b79ad0a
jne 0x41618f
mov eax, dword [0x49f59c]
add eax, 0xb7956a80
mov dword [0x49f59c], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.00456056
mov dword [esp + 0x1c], eax
mov eax, dword [0x4a6e9c]
and eax, 0xfcdc4252
mov dword [0x4a6e9c], eax
mov eax, dword [esp + 0x20]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.0044f050
mov eax, dword [0x4a6600]
inc eax
mov dword [0x4a6600], eax
and eax, 0x1bf392d2
mov ecx, dword [0x49c348]
and ecx, 0xd7f4bd4a
cmp eax, ecx
jne 0x41621f
mov eax, dword [0x4a1d00]
mov ecx, dword [0x4a63e8]
mov edx, ecx
dec edx
mov dword [0x4a63e8], edx
imul eax, ecx
shl eax, 9
mov ecx, dword [0x49e158]
lea eax, [eax + ecx + 0x52bbffce]
mov dword [0x49e158], eax
jmp 0x416236
mov ax, word [0x494a62]
movsx ecx, ax
mov edx, dword [0x4aca84]
add edx, ecx
mov dword [0x4aca84], edx
jmp 0x41623b
mov eax, dword [0x49dd2c]
or eax, 0xc794685b
mov ecx, dword [0x4a9ce4]
add ecx, eax
mov dword [0x4a9ce4], ecx
cmp dword [esp + 0x1c], 0
je 0x41637f
mov ax, word [0x49930e]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49930e], dx
movsx ecx, ax
add ecx, 0x8e1da469
cmp ecx, 0x9a035e6f
jge 0x4162e7
mov eax, dword [0x49bdc8]
shl eax, 1
add eax, 0xd726cdc2
and eax, 0x845ecb1c
cmp eax, 0x155db1a6
je 0x4162e2
mov ax, word [0x4921f6]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4921f6], dx
movsx ecx, ax
mov esi, dword [0x49d174]
mov edi, esi
dec edi
mov dword [0x49d174], edi
add esi, 0xee217feb
cmp ecx, esi
jne 0x4162dd
jmp 0x4162dd
jmp 0x4162e2
jmp 0x4162f9
mov eax, dword [0x4a6518]
mov ecx, 0x1f653972
sub ecx, eax
mov dword [0x4b04ec], ecx
mov eax, dword [esp + 0x1c]
mov ecx, esp
mov dword [ecx + 0xc], eax
mov dword [ecx + 8], 1
mov dword [ecx + 4], 4
mov dword [ecx], 0x4b10b0
call fcn.00456209
mov dx, word [0x4970ba]
movsx ecx, dx
add ecx, 0x850fa034
mov esi, dword [0x4b035c]
and esi, ecx
mov dword [0x4b035c], esi
mov ecx, dword [esp + 0x1c]
mov esi, esp
mov dword [esi], ecx
mov dword [esp + 0x14], eax
call fcn.004562f7
mov ecx, dword [0x4a0fd0]
mov esi, ecx
inc esi
mov dword [0x4a0fd0], esi
add ecx, 0x3cab7f9f
or ecx, 0x8eaf
mov dx, word [0x499700]
mov si, dx
sub esi, ecx
mov dx, si
mov word [0x499700], dx
mov dword [esp + 0x10], eax
mov eax, dword [0x4acc34]
or eax, 0xf2dfbafc
mov dword [0x4acc34], eax
add esp, 0x30
pop esi
pop edi
ret