Function at 0x403ba0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, 4
imul ecx, eax, 0x3dea
mov edx, dword [ecx + 0x49c858]
xor edx, 0x4b77d460
mov eax, 4
imul ecx, eax, 0x3dea
mov dword [ecx + 0x49c858], edx
mov edx, 2
imul eax, edx, 0x66a8
movsx ecx, word [eax + 0x48f8a0]
or ecx, 0x9123764a
or ecx, 0xf257f229
mov dword [ebp - 0x1c], ecx
mov edx, 2
imul eax, edx, 0x66a8
mov cx, word [eax + 0x48f8a0]
add cx, 1
mov edx, 2
imul eax, edx, 0x66a8
mov word [eax + 0x48f8a0], cx
cmp dword [ebp - 0x1c], 0x6a858ef7
jg 0x403c83
mov ecx, 4
imul edx, ecx, 0x4175
mov eax, dword [edx + 0x49c858]
shl eax, 1
mov ecx, 0x684c1a96
sub ecx, eax
xor ecx, 0xb0302575
cmp ecx, 0xffcd7e7f
jle 0x403c81
mov edx, 4
imul eax, edx, 0x6315
mov ecx, dword [eax + 0x49c858]
mov dword [ebp - 0x20], ecx
mov edx, 4
imul eax, edx, 0x6315
mov ecx, dword [eax + 0x49c858]
add ecx, 1
mov edx, 4
imul eax, edx, 0x6315
mov dword [eax + 0x49c858], ecx
jmp 0x403caa
mov ecx, 4
imul edx, ecx, 0x503b
mov eax, dword [edx + 0x49c858]
and eax, 0x50124408
mov ecx, 4
imul edx, ecx, 0x503b
mov dword [edx + 0x49c858], eax
cmp dword [0x4b6940], 0
jne 0x403d42
mov eax, 4
imul ecx, eax, 0xaf8
mov edx, dword [ecx + 0x49c858]
add edx, 0x2149efc2
mov eax, 4
imul ecx, eax, 0xaf8
mov dword [ecx + 0x49c858], edx
call fcn.00448ee0
mov dword [0x4b6940], eax
mov edx, 2
imul eax, edx, 0x2481
mov cx, word [eax + 0x48f8a0]
add cx, 1
mov word [ebp - 2], cx
mov edx, 2
imul eax, edx, 0x2481
mov cx, word [ebp - 2]
mov word [eax + 0x48f8a0], cx
movsx edx, word [ebp - 2]
mov eax, 4
imul ecx, eax, 0x417b
mov eax, dword [ecx + 0x49c858]
imul eax, edx
mov ecx, 4
imul edx, ecx, 0x417b
mov dword [edx + 0x49c858], eax
mov eax, 4
imul ecx, eax, 0x4673
mov edx, 4
imul eax, edx, 0x4443
mov edx, 4
imul edx, edx, 0x561c
mov edx, dword [edx + 0x49c858]
sar edx, 0xa
mov eax, dword [eax + 0x49c858]
add eax, edx
xor eax, 0xf108ba9d
mov ecx, dword [ecx + 0x49c858]
imul ecx, eax
mov edx, 4
imul eax, edx, 0x4673
mov dword [eax + 0x49c858], ecx
push 3
push 0xaf3
call fcn.00457b90
add esp, 8
mov dword [ebp - 0xc], eax
mov ecx, 4
imul edx, ecx, 0x50f0
mov eax, dword [edx + 0x49c858]
and eax, 0xfefc7bff
mov ecx, 4
imul edx, ecx, 0x50f0
mov dword [edx + 0x49c858], eax
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00465b61
add esp, 8
mov dword [ebp - 8], eax
mov edx, 4
imul eax, edx, 0x3eb
imul ecx, dword [eax + 0x49c858], 0x61740512
mov edx, 4
imul eax, edx, 0x3eb
mov dword [eax + 0x49c858], ecx
mov ecx, dword [ebp - 0xc]
push ecx
push 3
call fcn.00449720
add esp, 8
mov edx, 2
imul eax, edx, 0x120b
mov ecx, 4
imul edx, ecx, 0x80d
mov ecx, dword [edx + 0x49c858]
add ecx, 0x2b7bed26
movsx edx, word [eax + 0x48f8a0]
xor edx, ecx
mov eax, 2
imul ecx, eax, 0x120b
mov word [ecx + 0x48f8a0], dx
mov edx, 4
imul eax, edx, 0x80d
mov ecx, dword [eax + 0x49c858]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x80d
mov dword [eax + 0x49c858], ecx
cmp dword [ebp - 8], 0
jne 0x403fdd
mov ecx, 4
imul edx, ecx, 0x3861
mov eax, dword [edx + 0x49c858]
sub eax, 0x1e1c2e9e
mov ecx, 4
imul edx, ecx, 0x3861
mov dword [edx + 0x49c858], eax
push 0x3e8
call dword [0x48f814]
mov eax, 4
imul ecx, eax, 0x1377
mov edx, dword [ecx + 0x49c858]
or edx, 0x3052e6c2
cmp edx, 0x8fd3ca35
jg 0x403efa
mov eax, 2
imul ecx, eax, 0x5f6a
movsx edx, word [ecx + 0x48f8a0]
sub edx, 0x6b9daf64
mov eax, 2
imul ecx, eax, 0x5f6a
mov word [ecx + 0x48f8a0], dx
push 3
push 0xaf3
call fcn.00457b90
add esp, 8
mov dword [ebp - 0x10], eax
mov edx, 4
imul eax, edx, 0xc8a
mov ecx, 4
imul edx, ecx, 0xe1
mov ecx, dword [edx + 0x49c858]
sub ecx, 0x1eca9731
xor ecx, 0x6564093e
mov edx, dword [eax + 0x49c858]
sub edx, ecx
mov eax, 4
imul ecx, eax, 0xc8a
mov dword [ecx + 0x49c858], edx
mov edx, 4
imul eax, edx, 0xe1
mov ecx, dword [eax + 0x49c858]
add ecx, 1
mov edx, 4
imul eax, edx, 0xe1
mov dword [eax + 0x49c858], ecx
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00465b61
add esp, 8
mov dword [ebp - 8], eax
mov eax, 2
imul ecx, eax, 0x529f
mov edx, 4
imul eax, edx, 0x312b
movsx ecx, word [ecx + 0x48f8a0]
xor ecx, dword [eax + 0x49c858]
mov edx, 2
imul eax, edx, 0x529f
mov word [eax + 0x48f8a0], cx
mov ecx, dword [ebp - 0x10]
push ecx
push 3
call fcn.00449720
add esp, 8
mov edx, 4
imul eax, edx, 0x4667
mov dword [eax + 0x49c858], 0x17df251a
mov ecx, 2
imul edx, ecx, 0xa38
movsx eax, word [edx + 0x48f8a0]
xor eax, 0xff0223c2
mov ecx, 2
imul edx, ecx, 0xa38
mov word [edx + 0x48f8a0], ax
cmp dword [ebp - 8], 0
je 0x404143
mov eax, 4
imul ecx, eax, 0x3ec8
mov edx, dword [ecx + 0x49c858]
and edx, 0x1003511a
mov eax, 4
imul ecx, eax, 0x3ec8
mov dword [ecx + 0x49c858], edx
mov edx, dword [ebp - 8]
push edx
push 1
push 4
push 0x4b6940
call fcn.00465d14
add esp, 0x10
mov eax, 4
imul ecx, eax, 0x1ae3
mov edx, dword [ecx + 0x49c858]
sub edx, 1
mov dword [ebp - 0x14], edx
mov eax, 4
imul ecx, eax, 0x1ae3
mov edx, dword [ebp - 0x14]
mov dword [ecx + 0x49c858], edx
mov eax, 4
imul ecx, eax, 0x214e
mov edx, dword [ecx + 0x49c858]
xor edx, dword [ebp - 0x14]
cmp edx, 0xc99cd2ac
jl 0x4040d3
mov eax, 4
imul ecx, eax, 0x4acc
mov edx, 2
imul eax, edx, 0x47ba
movsx edx, word [eax + 0x48f8a0]
sar edx, 1
sub edx, 0x497b2991
mov eax, dword [ecx + 0x49c858]
imul eax, edx
mov ecx, 4
imul edx, ecx, 0x4acc
mov dword [edx + 0x49c858], eax
mov eax, dword [ebp - 8]
push eax
call fcn.00465836
add esp, 4
mov ecx, 4
imul edx, ecx, 0x7ba
mov eax, 4
imul ecx, eax, 0x4f94
mov eax, dword [ecx + 0x49c858]
sub eax, 0xd397c14
xor eax, 0xd0fddc77
mov ecx, dword [edx + 0x49c858]
add ecx, eax
mov edx, 4
imul eax, edx, 0x7ba
mov dword [eax + 0x49c858], ecx
mov ecx, 4
imul edx, ecx, 0x4f94
mov eax, dword [edx + 0x49c858]
add eax, 1
mov ecx, 4
imul edx, ecx, 0x4f94
mov dword [edx + 0x49c858], eax
mov eax, 4
imul ecx, eax, 0x21f7
mov edx, dword [ecx + 0x49c858]
sub edx, 1
mov dword [ebp - 0x18], edx
mov eax, 4
imul ecx, eax, 0x21f7
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0x49c858], edx
mov eax, dword [ebp - 0x18]
xor eax, 0x63f12744
mov ecx, 4
imul edx, ecx, 0x4768
mov ecx, dword [edx + 0x49c858]
or ecx, eax
mov edx, 4
imul eax, edx, 0x4768
mov dword [eax + 0x49c858], ecx
mov esp, ebp
pop ebp
ret