Function at 0x413060
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x654
mov eax, 4
imul ecx, eax, 0xd73
mov edx, 4
imul eax, edx, 0x19a7
mov edx, dword [eax + 0x4952f8]
or edx, 0x29a41f64
mov eax, dword [ecx + 0x4952f8]
or eax, edx
mov ecx, 4
imul edx, ecx, 0xd73
mov dword [edx + 0x4952f8], eax
mov eax, 4
imul ecx, eax, 0x19a7
mov edx, dword [ecx + 0x4952f8]
sub edx, 1
mov eax, 4
imul ecx, eax, 0x19a7
mov dword [ecx + 0x4952f8], edx
mov ecx, dword [ebp + 8]
call fcn.00419a60
cmp eax, 0x8000
jbe 0x413cdf
mov edx, 4
imul eax, edx, 0x5a7
mov ecx, dword [eax + 0x4952f8]
sar ecx, 2
mov edx, 2
imul eax, edx, 0x2ae
movsx edx, word [eax + 0x490dc0]
not edx
imul ecx, edx
cmp ecx, 0xdcef4b8f
jg 0x413154
mov eax, 4
imul ecx, eax, 0xa86
mov edx, dword [ecx + 0x4952f8]
not edx
cmp edx, 0xcbff057f
je 0x413154
mov eax, 2
imul ecx, eax, 0x7d7
movsx edx, word [ecx + 0x490dc0]
xor edx, 0x8b025ab5
mov eax, 2
imul ecx, eax, 0x7d7
mov word [ecx + 0x490dc0], dx
mov edx, 4
imul eax, edx, 0x7c0
mov ecx, dword [eax + 0x4952f8]
and ecx, 0x5855342f
mov edx, 4
imul eax, edx, 0x7c0
mov dword [eax + 0x4952f8], ecx
mov ecx, 4
imul edx, ecx, 0x1f48
mov eax, dword [edx + 0x4952f8]
and eax, 0xc454d2f7
mov ecx, 4
imul edx, ecx, 0x1f48
mov dword [edx + 0x4952f8], eax
mov eax, 4
imul ecx, eax, 0x2e8
mov edx, 4
imul eax, edx, 0x775
mov edx, dword [eax + 0x4952f8]
add edx, 0x46bc93ac
and edx, 0x5f98791
mov eax, dword [ecx + 0x4952f8]
or eax, edx
mov ecx, 4
imul edx, ecx, 0x2e8
mov dword [edx + 0x4952f8], eax
lea eax, [ebp - 0x148]
push eax
call fcn.00406a10
add esp, 4
mov dword [ebp - 0x24], eax
mov ecx, 2
imul edx, ecx, 0xfe6
mov eax, 4
imul ecx, eax, 0x1cff
mov eax, 0xfb1a0744
sub eax, dword [ecx + 0x4952f8]
movsx ecx, word [edx + 0x490dc0]
or ecx, eax
mov edx, 2
imul eax, edx, 0xfe6
mov word [eax + 0x490dc0], cx
mov ecx, 4
imul edx, ecx, 0x1cff
mov eax, dword [edx + 0x4952f8]
sub eax, 1
mov ecx, 4
imul edx, ecx, 0x1cff
mov dword [edx + 0x4952f8], eax
call fcn.00417d90
movzx eax, al
and eax, 0x80000003
jns 0x41326b
dec eax
or eax, 0xfffffffc
inc eax
add eax, 7
push eax
mov ecx, dword [ebp - 0x24]
lea edx, [ebp + ecx - 0x148]
push edx
call fcn.00405db0
add esp, 8
mov eax, 4
imul ecx, eax, 0x1af8
cmp dword [ecx + 0x4952f8], 0xc8612a5a
jle 0x4132e4
mov edx, 2
imul eax, edx, 0x1553
movsx ecx, word [eax + 0x490dc0]
mov edx, 4
imul eax, edx, 0xa47
mov dword [eax + 0x4952f8], ecx
mov ecx, 2
imul edx, ecx, 0x1553
mov ax, word [edx + 0x490dc0]
sub ax, 1
mov ecx, 2
imul edx, ecx, 0x1553
mov word [edx + 0x490dc0], ax
push 5
push 0x1cea
call fcn.00432680
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, 4
imul ecx, eax, 0x576
mov edx, 4
imul eax, edx, 0xc1c
mov ecx, dword [ecx + 0x4952f8]
mov edx, dword [eax + 0x4952f8]
lea eax, [ecx + edx - 0x664a2edf]
mov dword [ebp - 0x2c], eax
mov ecx, 2
imul edx, ecx, 0xaf9
movsx eax, word [edx + 0x490dc0]
mov dword [ebp - 0x30], eax
mov ecx, 2
imul edx, ecx, 0xaf9
mov ax, word [edx + 0x490dc0]
add ax, 1
mov ecx, 2
imul edx, ecx, 0xaf9
mov word [edx + 0x490dc0], ax
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x30]
jle 0x4133b7
mov ecx, 2
imul edx, ecx, 0xfcd
movsx eax, word [edx + 0x490dc0]
imul ecx, eax, 0xca3f82ea
mov edx, 2
imul eax, edx, 0x19e9
movsx edx, word [eax + 0x490dc0]
and edx, 0x3481bef
cmp ecx, edx
jl 0x4133b2
mov eax, 2
imul ecx, eax, 0x159b
mov edx, 0x4000
mov word [ecx + 0x490dc0], dx
jmp 0x413439
mov eax, 4
imul ecx, eax, 0xa
mov edx, dword [ecx + 0x4952f8]
sub edx, 1
mov dword [ebp - 0x18], edx
mov eax, 4
imul ecx, eax, 0xa
mov edx, dword [ebp - 0x18]
mov dword [ecx + 0x4952f8], edx
mov eax, 4
imul ecx, eax, 0x16b6
mov edx, dword [ecx + 0x4952f8]
shl edx, 0xa
and edx, dword [ebp - 0x18]
cmp edx, 0x293d8eba
jne 0x413439
mov eax, 2
imul ecx, eax, 0x3e7
movsx edx, word [ecx + 0x490dc0]
mov ecx, 2
imul edx, ecx, 0xa9a
movsx ecx, word [edx + 0x490dc0]
shl ecx, 8
sub ecx, 0x7d0b9b6
mov edx, 4
imul edx, edx, 0xe31
xor ecx, dword [edx + 0x4952f8]
mov eax, dword [ebp - 0x14]
push eax
lea ecx, [ebp - 0x148]
push ecx
call fcn.00465cb0
add esp, 8
mov edx, 4
imul eax, edx, 0x1eee
mov ecx, dword [eax + 0x4952f8]
and ecx, 0xdd113884
mov edx, 4
imul eax, edx, 0x1eee
mov dword [eax + 0x4952f8], ecx
push 3
push 0x3b39
call fcn.00432680
add esp, 8
mov dword [ebp - 0x1c], eax
mov ecx, 2
imul edx, ecx, 0x15f5
movsx eax, word [edx + 0x490dc0]
imul ecx, eax, 0xf99982e0
mov edx, 2
imul eax, edx, 0x15f5
mov word [eax + 0x490dc0], cx
mov ecx, dword [ebp - 0x14]
push ecx
push 5
call fcn.0045dc70
add esp, 8
mov edx, 2
imul eax, edx, 0x99f
mov cx, word [eax + 0x490dc0]
add cx, 1
mov word [ebp - 4], cx
mov edx, 2
imul eax, edx, 0x99f
mov cx, word [ebp - 4]
mov word [eax + 0x490dc0], cx
movsx edx, word [ebp - 4]
cmp edx, 0x8bc9974a
je 0x4135bb
mov eax, 4
imul ecx, eax, 0xd79
cmp dword [ecx + 0x4952f8], 0x29021801
jle 0x41355d
mov edx, 2
imul eax, edx, 0x9cd
mov ecx, 4
imul edx, ecx, 0xd6a
mov ecx, dword [edx + 0x4952f8]
sar ecx, 6
imul edx, ecx, 0xde0b11f1
or edx, 0x2ced22e0
movsx eax, word [eax + 0x490dc0]
sub eax, edx
mov ecx, 2
imul edx, ecx, 0x9cd
mov word [edx + 0x490dc0], ax
jmp 0x4135bb
mov eax, 4
imul ecx, eax, 0x103d
mov edx, 2
imul eax, edx, 0x849
movsx edx, word [eax + 0x490dc0]
mov eax, dword [ecx + 0x4952f8]
add eax, edx
mov ecx, 4
imul edx, ecx, 0x103d
mov dword [edx + 0x4952f8], eax
mov eax, 2
imul ecx, eax, 0x849
mov dx, word [ecx + 0x490dc0]
add dx, 1
mov eax, 2
imul ecx, eax, 0x849
mov word [ecx + 0x490dc0], dx
mov edx, dword [ebp - 0x1c]
push edx
lea eax, [ebp - 0x148]
push eax
call fcn.00466d11
add esp, 8
mov dword [ebp - 8], eax
mov ecx, 2
imul edx, ecx, 0xed3
movsx eax, word [edx + 0x490dc0]
or eax, 0x62f2f203
cmp eax, 0x28801
je 0x413618
mov ecx, 2
imul edx, ecx, 0x115f
movsx eax, word [edx + 0x490dc0]
add eax, 0x7edeff44
mov ecx, 2
imul edx, ecx, 0x115f
mov word [edx + 0x490dc0], ax
mov eax, dword [ebp - 0x1c]
push eax
push 3
call fcn.0045dc70
add esp, 8
mov ecx, 4
imul edx, ecx, 0x188d
mov eax, 2
imul ecx, eax, 0x8d2
movsx eax, word [ecx + 0x490dc0]
sar eax, 3
sub eax, 0x4c4a00ab
or eax, 0x10668f6c
mov ecx, dword [edx + 0x4952f8]
and ecx, eax
mov edx, 4
imul eax, edx, 0x188d
mov dword [eax + 0x4952f8], ecx
cmp dword [ebp - 8], 0
je 0x413c3b
mov ecx, 4
imul edx, ecx, 0x5ac
mov eax, 4
imul ecx, eax, 0x1bde
mov eax, dword [ecx + 0x4952f8]
sar eax, 0xa
xor eax, 0xea89580
xor eax, 0xb7d60a86
mov ecx, dword [edx + 0x4952f8]
and ecx, eax
mov edx, 4
imul eax, edx, 0x5ac
mov dword [eax + 0x4952f8], ecx
mov ecx, 4
imul edx, ecx, 0x1901
mov eax, dword [edx + 0x4952f8]
or eax, 0xfcd197d3
mov ecx, 4
imul edx, ecx, 0x1901
mov dword [edx + 0x4952f8], eax
mov eax, dword [ebp - 8]
push eax
push 1
mov ecx, dword [ebp + 8]
call fcn.00419a60
push eax
mov ecx, dword [ebp + 8]
call fcn.00428ae0
push eax
call fcn.00466ec4
add esp, 0x10
mov ecx, 4
imul edx, ecx, 0x905
mov eax, dword [edx + 0x4952f8]
sub eax, 0x50b4a9d2
mov ecx, 4
imul edx, ecx, 0x905
mov dword [edx + 0x4952f8], eax
mov eax, dword [ebp - 8]
push eax
call fcn.004669e6
add esp, 4
mov ecx, 4
imul edx, ecx, 0x2168
mov eax, dword [edx + 0x4952f8]
sub eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0x2168
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x4952f8], eax
mov ecx, dword [ebp - 0x10]
or ecx, 0x88004212
cmp ecx, 0xb43bcc8b
je 0x413793
mov edx, 4
imul eax, edx, 0xc2f
mov ecx, dword [eax + 0x4952f8]
add ecx, 0x3e7a0136
mov edx, 4
imul eax, edx, 0xc2f
mov dword [eax + 0x4952f8], ecx
mov ecx, dword [ebp + 8]
call fcn.00417210
mov ecx, 4
imul edx, ecx, 0x1420
mov eax, dword [edx + 0x4952f8]
xor eax, 0xb17af73c
mov ecx, 4
imul edx, ecx, 0x1420
mov dword [edx + 0x4952f8], eax
mov eax, 1
imul ecx, eax, 0x104
mov byte [ebp + ecx - 0x250], 0
mov edx, 4
imul eax, edx, 0x2165
mov ecx, dword [eax + 0x4952f8]
and ecx, 0x8bcc9792
mov edx, 4
imul eax, edx, 0x2165
mov dword [eax + 0x4952f8], ecx
push 0x104
lea ecx, [ebp - 0x250]
push ecx
push 0
call dword [0x490cd8]
mov edx, 4
imul eax, edx, 0xc02
imul ecx, dword [eax + 0x4952f8], 0xe06df98f
mov edx, 4
imul eax, edx, 0xc02
mov dword [eax + 0x4952f8], ecx
mov ecx, 1
shl ecx, 0xa
mov byte [ebp + ecx - 0x654], 0
mov edx, 4
imul eax, edx, 0x5c2
mov ecx, 4
imul edx, ecx, 0x1ef1
mov ecx, dword [edx + 0x4952f8]
sub ecx, 0x445d908e
mov edx, dword [eax + 0x4952f8]
sub edx, ecx
mov eax, 4
imul ecx, eax, 0x5c2
mov dword [ecx + 0x4952f8], edx
push 0x15
push 0x9cb
call fcn.00432680
add esp, 8
mov dword [ebp - 0xc], eax
mov edx, 2
imul eax, edx, 0x2264
movsx ecx, word [eax + 0x490dc0]
mov edx, 4
imul eax, edx, 0x1224
mov edx, dword [eax + 0x4952f8]
sub edx, 0x60f80d05
and ecx, edx
mov eax, 2
imul edx, eax, 0xfba
mov word [edx + 0x490dc0], cx
mov eax, dword [0x490bcc]
push eax
mov ecx, dword [0x490bb4]
push ecx
lea edx, [ebp - 0x250]
push edx
mov eax, dword [ebp - 0xc]
push eax
lea ecx, [ebp - 0x654]
push ecx
call fcn.00467110
add esp, 0x14
mov edx, 2
imul eax, edx, 0xc02
movsx ecx, word [eax + 0x490dc0]
add ecx, 0x6a00aa3
mov edx, 2
imul eax, edx, 0xc02
mov word [eax + 0x490dc0], cx
mov ecx, dword [ebp - 0xc]
push ecx
push 0x15
call fcn.0045dc70
add esp, 8
mov edx, 4
imul eax, edx, 0xe5e
mov ecx, 4
imul edx, ecx, 0x8db
mov ecx, dword [edx + 0x4952f8]
xor ecx, 0x26c2dcf2
mov edx, dword [eax + 0x4952f8]
sub edx, ecx
mov eax, 4
imul ecx, eax, 0xe5e
mov dword [ecx + 0x4952f8], edx
mov edx, 4
imul eax, edx, 0x8db
mov ecx, dword [eax + 0x4952f8]
add ecx, 1
mov edx, 4
imul eax, edx, 0x8db
mov dword [eax + 0x4952f8], ecx
mov ecx, dword [0x490bcc]
push ecx
call fcn.0042ede0
add esp, 4
mov edx, 4
imul eax, edx, 0xf35
mov ecx, dword [eax + 0x4952f8]
sub ecx, 0x52d91a1
mov edx, 4
imul eax, edx, 0xf35
mov dword [eax + 0x4952f8], ecx
lea ecx, [ebp - 0x654]
push ecx
lea edx, [ebp - 0x148]
push edx
call fcn.00458420
add esp, 8
mov eax, 4
imul ecx, eax, 0x104f
mov edx, 2
imul eax, edx, 0x21c1
movsx edx, word [eax + 0x490dc0]
xor edx, 0x1d5e9dc5
mov eax, dword [ecx + 0x4952f8]
add eax, edx
mov ecx, 4
imul edx, ecx, 0x104f
mov dword [edx + 0x4952f8], eax
mov eax, 2
imul ecx, eax, 0x21c1
mov dx, word [ecx + 0x490dc0]
add dx, 1
mov eax, 2
imul ecx, eax, 0x21c1
mov word [ecx + 0x490dc0], dx
push 0x401
push 0
lea edx, [ebp - 0x654]
push edx
call fcn.00465c10
add esp, 0xc
mov eax, 4
imul ecx, eax, 0x18b4
mov edx, dword [ecx + 0x4952f8]
xor edx, 0xdabcf8f5
mov eax, 4
imul ecx, eax, 0x18b4
mov dword [ecx + 0x4952f8], edx
push 0x105
push 0
lea edx, [ebp - 0x250]
push edx
call fcn.00465c10
add esp, 0xc
mov eax, 4
imul ecx, eax, 0x1bd
mov edx, dword [ecx + 0x4952f8]
not edx
sub edx, 0x4d20795
or edx, 0xc3cfbbba
cmp edx, 0xc1bbd025
jg 0x413ae6
mov eax, 2
imul ecx, eax, 0xe87
movsx edx, word [ecx + 0x490dc0]
imul eax, edx, 0xcbf8cf6b
mov ecx, 2
imul edx, ecx, 0xe87
mov word [edx + 0x490dc0], ax
push 0x15f90
call dword [0x490d34]
mov eax, 2
imul ecx, eax, 0x12d7
mov dx, word [ecx + 0x490dc0]
add dx, 1
mov word [ebp - 2], dx
mov eax, 2
imul ecx, eax, 0x12d7
mov dx, word [ebp - 2]
mov word [ecx + 0x490dc0], dx
movsx eax, word [ebp - 2]
mov ecx, 4
imul edx, ecx, 0xbe4
add eax, dword [edx + 0x4952f8]
mov dword [ebp - 0x28], eax
mov eax, 4
imul ecx, eax, 0xbe4
mov edx, dword [ecx + 0x4952f8]
add edx, 1
mov eax, 4
imul ecx, eax, 0xbe4
mov dword [ecx + 0x4952f8], edx
cmp dword [ebp - 0x28], 0xddbea5fe
jl 0x413b8e
mov edx, 4
imul eax, edx, 0x1e
mov ecx, dword [eax + 0x4952f8]
or ecx, 0x6d1e1c73
mov edx, 4
imul eax, edx, 0x1e
mov dword [eax + 0x4952f8], ecx
jmp 0x413c17
mov ecx, 4
imul edx, ecx, 0x293
imul eax, dword [edx + 0x4952f8], 0xf71884ac
mov ecx, 0x89d65d22
sub ecx, eax
cmp ecx, 0xdebf47e6
jle 0x413c17
mov edx, 4
imul eax, edx, 0x227e
mov ecx, 4
imul edx, ecx, 0x1543
mov ecx, 0xd96b52db
sub ecx, dword [edx + 0x4952f8]
xor ecx, 0x7f515e
mov edx, dword [eax + 0x4952f8]
add edx, ecx
mov eax, 4
imul ecx, eax, 0x227e
mov dword [ecx + 0x4952f8], edx
mov edx, 4
imul eax, edx, 0x1543
mov ecx, dword [eax + 0x4952f8]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x1543
mov dword [eax + 0x4952f8], ecx
lea ecx, [ebp - 0x148]
push ecx
call dword [0x490c7c]
mov edx, 2
imul eax, edx, 0x1259
mov ecx, 0x78d2
mov word [eax + 0x490dc0], cx
mov edx, 4
imul eax, edx, 0x1ff3
mov ecx, dword [eax + 0x4952f8]
and ecx, 0xf63fd949
mov edx, 4
imul eax, edx, 0x113f
mov dword [eax + 0x4952f8], ecx
push 0x118
push 0
lea ecx, [ebp - 0x148]
push ecx
call fcn.00465c10
add esp, 0xc
mov edx, 2
imul eax, edx, 0x2ce
mov ecx, 4
imul edx, ecx, 0x7d6
imul ecx, dword [edx + 0x4952f8], 0xa87e679e
add ecx, 0x3417d996
movsx edx, word [eax + 0x490dc0]
xor edx, ecx
mov eax, 2
imul ecx, eax, 0x2ce
mov word [ecx + 0x490dc0], dx
mov edx, 4
imul eax, edx, 0x7d6
mov ecx, dword [eax + 0x4952f8]
sub ecx, 1
mov edx, 4
imul eax, edx, 0x7d6
mov dword [eax + 0x4952f8], ecx
mov ecx, 4
imul edx, ecx, 0x1d7e
mov eax, dword [edx + 0x4952f8]
add eax, 1
mov dword [ebp - 0x20], eax
mov ecx, 4
imul edx, ecx, 0x1d7e
mov eax, dword [ebp - 0x20]
mov dword [edx + 0x4952f8], eax
mov ecx, 2
imul edx, ecx, 0xd8b
movsx eax, word [edx + 0x490dc0]
xor eax, 0x4cd157b1
cmp dword [ebp - 0x20], eax
jg 0x413d4d
mov ecx, 4
imul edx, ecx, 0x18a4
mov eax, dword [edx + 0x4952f8]
and eax, 0x7359acb9
mov ecx, 4
imul edx, ecx, 0x18a4
mov dword [edx + 0x4952f8], eax
mov esp, ebp
pop ebp
ret