Function at 0x414ec0
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, 0x7b1ba157
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov eax, dword [0x496770]
add eax, 0xd11deef4
mov dword [0x496770], eax
mov si, word [0x49933c]
mov ax, si
dec eax
mov di, ax
mov word [0x49933c], di
movsx eax, si
cmp edx, eax
jge 0x414f51
mov eax, 0x4db64867
mov cx, word [0x499adc]
mov dx, cx
inc edx
mov si, dx
mov word [0x499adc], si
movsx edx, cx
imul edx, edx, 0x60cf4a5c
cmp eax, edx
je 0x414f4c
mov ax, word [0x4977a0]
mov cx, ax
add ecx, 0x169bafee
mov ax, cx
mov word [0x4977a0], ax
jmp 0x414f51
cmp dword [0x49a644], 0
jne 0x414fdf
mov eax, dword [0x496074]
dec eax
mov dword [0x496074], eax
and eax, 0x672d04e8
cmp eax, 0xc850f2be
jge 0x414fcb
mov ax, word [0x49884c]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x49884c], ax
movsx ecx, ax
xor ecx, 0x2405e73b
xor ecx, 0x2fd6a594
cmp ecx, 0x15ed94d8
jle 0x414fc6
mov ax, word [0x4982da]
movsx ecx, ax
mov edx, dword [0x494390]
and ecx, edx
mov edx, dword [0x4930f8]
xor edx, ecx
mov dword [0x4930f8], edx
jmp 0x414fcb
call fcn.00418480
mov dword [0x49a644], eax
mov dword [0x495dfc], 0xbc94ac55
mov eax, 0x46cd149c
mov dword [0x496130], 0x25e67192
mov ecx, esp
mov dword [ecx + 4], 3
mov dword [ecx], 0x34a3
mov dword [esp + 0x1c], eax
call fcn.0044bdb0
mov dword [esp + 0x28], eax
mov dx, word [0x498a86]
mov ax, dx
and eax, 0xd5b9
mov dx, ax
mov word [0x498a86], dx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov esi, esp
mov dword [esi + 4], eax
mov dword [esi], ecx
call fcn.0045667c
mov dword [esp + 0x20], eax
mov dx, word [0x497f46]
movsx eax, dx
imul eax, eax, 0x942ea42
mov ecx, dword [0x4931b8]
mov esi, ecx
inc esi
mov dword [0x4931b8], esi
xor eax, ecx
mov dword [0x495a08], eax
mov eax, dword [esp + 0x28]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.004019a0
mov eax, dword [0x49529c]
sar eax, 1
imul eax, eax, 0xaeab5ea9
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jge 0x4150b2
mov eax, dword [0x49623c]
inc eax
mov dword [0x49623c], eax
xor eax, 0xbba8d903
mov ecx, dword [0x4941d4]
add ecx, eax
mov dword [0x4941d4], ecx
jmp 0x4150c2
mov eax, dword [0x491d24]
imul eax, eax, 0xc390d75d
mov dword [0x491d24], eax
cmp dword [esp + 0x20], 0
jne 0x415236
mov eax, 0xbb6f5eee
mov cx, word [0x499530]
movsx edx, cx
xor edx, 0xffffffff
xor edx, 0xf61c464e
cmp eax, edx
jg 0x41511f
mov eax, dword [0x492774]
xor eax, 0x37769e05
cmp eax, 0xddbfc779
jge 0x41511a
mov ax, word [0x497936]
mov cx, ax
or ecx, 0x84c0
mov ax, cx
mov word [0x497936], ax
jmp 0x41512e
mov eax, dword [0x4923c4]
add eax, 0x76defc74
mov dword [0x4923c4], eax
mov eax, 0xbff7f3fb
mov ecx, dword [0x491c24]
mov edx, esp
mov dword [edx], 0x45a
mov dword [esp + 0x18], eax
call ecx
sub esp, 4
mov si, word [0x497b02]
movsx eax, si
mov dword [0x493540], eax
mov eax, esp
mov dword [eax + 4], 3
mov dword [eax], 0x34a3
call fcn.0044bdb0
mov dword [esp + 0x24], eax
mov eax, dword [0x495a8c]
add eax, 0x3e2e00da
mov ecx, dword [0x492898]
or ecx, eax
mov dword [0x492898], ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, esp
mov dword [edx + 4], eax
mov dword [edx], ecx
call fcn.0045667c
mov dword [esp + 0x20], eax
mov eax, dword [0x495e54]
not eax
mov ecx, dword [0x495fec]
dec ecx
mov dword [0x495fec], ecx
sub eax, ecx
mov ecx, dword [0x492134]
or eax, ecx
mov ecx, dword [0x495454]
add ecx, eax
mov dword [0x495454], ecx
mov eax, dword [esp + 0x24]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 3
call fcn.004019a0
mov eax, dword [0x495ae0]
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jne 0x415210
mov eax, dword [0x4953e4]
imul eax, eax, 0x2b5fd725
mov ecx, dword [0x495ef4]
add ecx, eax
mov dword [0x495ef4], ecx
jmp 0x415231
mov eax, dword [0x495b78]
dec eax
mov dword [0x495b78], eax
mov cx, word [0x497b14]
mov dx, cx
and edx, eax
mov cx, dx
mov word [0x497b14], cx
jmp 0x415236
mov eax, dword [0x492490]
not eax
mov cx, word [0x497be0]
mov dx, cx
or edx, eax
mov cx, dx
mov word [0x497be0], cx
cmp dword [esp + 0x20], 0
je 0x41533f
mov eax, dword [0x492718]
shl eax, 7
add eax, 0x69037ba1
mov cx, word [0x4996ac]
mov dx, cx
imul edx, eax
mov cx, dx
mov word [0x4996ac], cx
mov eax, dword [esp + 0x20]
mov edx, esp
mov dword [edx + 0xc], eax
mov dword [edx + 8], 1
mov dword [edx + 4], 4
mov dword [edx], 0x49a644
call fcn.0045682f
mov edx, dword [0x49219c]
and edx, 0x698804
mov dword [0x49219c], edx
mov edx, dword [esp + 0x20]
mov esi, esp
mov dword [esi], edx
mov dword [esp + 0x14], eax
call fcn.0045691d
mov edx, dword [0x495acc]
mov cx, word [0x499458]
movsx esi, cx
add esi, 0xbec12660
or edx, esi
cmp edx, 0x4950ab1b
mov dword [esp + 0x10], eax
je 0x41533a
mov ax, word [0x49963c]
movsx ecx, ax
mov edx, dword [0x494154]
mov esi, edx
inc esi
mov dword [0x494154], esi
sub edx, 0x6d3d4a53
cmp ecx, edx
jne 0x415335
mov eax, dword [0x493600]
mov ecx, eax
dec ecx
mov dword [0x493600], ecx
mov ecx, dword [0x493248]
lea eax, [eax + ecx - 0x6e630407]
mov dword [0x493248], eax
jmp 0x41533a
jmp 0x41533f
mov eax, dword [0x493d70]
mov ecx, eax
inc ecx
mov dword [0x493d70], ecx
mov ecx, dword [0x4955f0]
lea eax, [eax + ecx - 0x2d41e672]
mov dword [0x4955f0], eax
add esp, 0x34
pop esi
pop edi
ret