Function at 0x406dd0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, 2
imul ecx, eax, 0x15db
mov edx, 0x2f0f
mov word [ecx + 0x490dc0], dx
mov eax, 4
imul ecx, eax, 0x3d5
mov edx, dword [ecx + 0x4952f8]
add edx, 0x7ffe3c3b
mov eax, 4
imul ecx, eax, 0x3d5
mov dword [ecx + 0x4952f8], edx
cmp dword [0x49dd7c], 0
jne 0x406ee4
mov edx, 4
imul eax, edx, 0x12c3
imul ecx, dword [eax + 0x4952f8], 0x536d3e13
mov edx, 4
imul eax, edx, 0x12c3
mov dword [eax + 0x4952f8], ecx
call fcn.004262a0
mov dword [0x49dd7c], eax
mov ecx, 2
imul edx, ecx, 0x880
movsx eax, word [edx + 0x490dc0]
mov dword [ebp - 0x20], eax
mov ecx, 2
imul edx, ecx, 0x880
mov ax, word [edx + 0x490dc0]
sub ax, 1
mov ecx, 2
imul edx, ecx, 0x880
mov word [edx + 0x490dc0], ax
cmp dword [ebp - 0x20], 0xc796b6e3
je 0x406ee4
mov eax, 4
imul ecx, eax, 0xf30
mov edx, 0xa8063f7d
sub edx, dword [ecx + 0x4952f8]
mov eax, 4
imul ecx, eax, 0x209a
mov dword [ecx + 0x4952f8], edx
mov edx, 4
imul eax, edx, 0xf30
mov ecx, dword [eax + 0x4952f8]
sub ecx, 1
mov edx, 4
imul eax, edx, 0xf30
mov dword [eax + 0x4952f8], ecx
mov ecx, 2
imul edx, ecx, 0xe49
movsx eax, word [edx + 0x490dc0]
imul ecx, eax, 0x20029010
mov edx, 2
imul eax, edx, 0xe49
mov word [eax + 0x490dc0], cx
push 3
push 0x3b39
call fcn.00432680
add esp, 8
mov dword [ebp - 0xc], eax
mov ecx, 4
imul edx, ecx, 0x1fb3
mov eax, 4
imul ecx, eax, 0xc9b
mov eax, dword [ecx + 0x4952f8]
not eax
add eax, 0x7a39d38c
or eax, 0xff2e52a1
mov ecx, dword [edx + 0x4952f8]
and ecx, eax
mov edx, 4
imul eax, edx, 0x1fb3
mov dword [eax + 0x4952f8], ecx
mov ecx, dword [ebp - 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.00466d11
add esp, 8
mov dword [ebp - 4], eax
mov eax, 4
imul ecx, eax, 0x14aa
mov edx, dword [ecx + 0x4952f8]
sub edx, 1
mov dword [ebp - 8], edx
mov eax, 4
imul ecx, eax, 0x14aa
mov edx, dword [ebp - 8]
mov dword [ecx + 0x4952f8], edx
mov eax, 4
imul ecx, eax, 0x1807
mov edx, dword [ecx + 0x4952f8]
and edx, dword [ebp - 8]
mov eax, 4
imul ecx, eax, 0x1807
mov dword [ecx + 0x4952f8], edx
mov edx, dword [ebp - 0xc]
push edx
push 3
call fcn.0045dc70
add esp, 8
mov eax, 4
imul ecx, eax, 0x1e78
mov edx, dword [ecx + 0x4952f8]
shl edx, 6
mov eax, 0x2c12599d
sub eax, edx
or eax, 0x1141e481
cmp eax, 0xdbe9a94
jne 0x407036
mov ecx, 4
imul edx, ecx, 0x145c
mov eax, 4
imul ecx, eax, 0x7d
imul eax, dword [ecx + 0x4952f8], 0x45e61a35
mov ecx, 0xc04ed4ac
sub ecx, eax
mov edx, dword [edx + 0x4952f8]
and edx, ecx
mov eax, 4
imul ecx, eax, 0x145c
mov dword [ecx + 0x4952f8], edx
cmp dword [ebp - 4], 0
jne 0x4071ac
mov edx, 4
imul eax, edx, 0x1d87
mov dword [eax + 0x4952f8], 0x90a4e660
push 0x3e8
call dword [0x490d34]
mov ecx, 2
imul edx, ecx, 0xe16
mov eax, 4
imul ecx, eax, 0x5d9
mov eax, dword [ecx + 0x4952f8]
sar eax, 5
movsx ecx, word [edx + 0x490dc0]
xor ecx, eax
mov edx, 2
imul eax, edx, 0xe16
mov word [eax + 0x490dc0], cx
push 3
push 0x3b39
call fcn.00432680
add esp, 8
mov dword [ebp - 0x14], eax
mov ecx, 4
imul edx, ecx, 0x21bb
mov eax, dword [edx + 0x4952f8]
add eax, 1
mov dword [ebp - 0x10], eax
mov ecx, 4
imul edx, ecx, 0x21bb
mov eax, dword [ebp - 0x10]
mov dword [edx + 0x4952f8], eax
mov ecx, 4
imul edx, ecx, 0x1a61
mov eax, dword [edx + 0x4952f8]
add eax, 0x618243d8
and eax, dword [ebp - 0x10]
mov ecx, 2
imul edx, ecx, 0x1289
movsx ecx, word [edx + 0x490dc0]
add ecx, eax
mov edx, 2
imul eax, edx, 0x1289
mov word [eax + 0x490dc0], cx
mov ecx, 4
imul edx, ecx, 0x1a61
mov eax, dword [edx + 0x4952f8]
add eax, 1
mov ecx, 4
imul edx, ecx, 0x1a61
mov dword [edx + 0x4952f8], eax
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00466d11
add esp, 8
mov dword [ebp - 4], eax
mov edx, 2
imul eax, edx, 0x185a
movsx ecx, word [eax + 0x490dc0]
mov edx, 0x440c33d4
sub edx, ecx
mov eax, 4
imul ecx, eax, 0x12f5
mov dword [ecx + 0x4952f8], edx
mov edx, dword [ebp - 0x14]
push edx
push 3
call fcn.0045dc70
add esp, 8
mov eax, 4
imul ecx, eax, 0x832
imul edx, dword [ecx + 0x4952f8], 0x7cbbe9f3
mov eax, 4
imul ecx, eax, 0x832
mov dword [ecx + 0x4952f8], edx
mov edx, 4
imul eax, edx, 0xa65
mov ecx, dword [eax + 0x4952f8]
xor ecx, 0xdf63d290
mov edx, 2
imul eax, edx, 0x1056
mov word [eax + 0x490dc0], cx
cmp dword [ebp - 4], 0
je 0x4072ef
mov ecx, 4
imul edx, ecx, 0x217d
mov eax, dword [edx + 0x4952f8]
sar eax, 3
imul ecx, eax, 0x791220c0
cmp ecx, 0x73854256
jle 0x407244
mov edx, 2
imul eax, edx, 0x175c
mov ecx, 4
imul edx, ecx, 0x143d
imul ecx, dword [edx + 0x4952f8], 0x8ba3d21f
mov edx, 0x1504635f
sub edx, ecx
movsx eax, word [eax + 0x490dc0]
imul eax, edx
mov ecx, 2
imul edx, ecx, 0x175c
mov word [edx + 0x490dc0], ax
mov eax, dword [ebp - 4]
push eax
push 1
push 4
push 0x49dd7c
call fcn.00466ec4
add esp, 0x10
mov ecx, 2
imul edx, ecx, 0x1548
mov eax, 4
imul ecx, eax, 0x1b9d
mov eax, dword [ecx + 0x4952f8]
sub eax, 0x4dadb773
movsx ecx, word [edx + 0x490dc0]
sub ecx, eax
mov edx, 2
imul eax, edx, 0x1548
mov word [eax + 0x490dc0], cx
mov ecx, 4
imul edx, ecx, 0x1b9d
mov eax, dword [edx + 0x4952f8]
add eax, 1
mov ecx, 4
imul edx, ecx, 0x1b9d
mov dword [edx + 0x4952f8], eax
mov eax, dword [ebp - 4]
push eax
call fcn.004669e6
add esp, 4
mov ecx, 2
imul edx, ecx, 0x17fb
movsx eax, word [edx + 0x490dc0]
sub eax, 0x1b8ae2af
mov ecx, 2
imul edx, ecx, 0x17fb
mov word [edx + 0x490dc0], ax
mov eax, 2
imul ecx, eax, 0x184f
movsx edx, word [ecx + 0x490dc0]
mov eax, 4
imul ecx, eax, 0x1f31
imul edx, dword [ecx + 0x4952f8]
mov dword [ebp - 0x24], edx
mov edx, 2
imul eax, edx, 0x988
movsx ecx, word [eax + 0x490dc0]
add ecx, 0x5e3a8a72
mov dword [ebp - 0x28], ecx
mov edx, 2
imul eax, edx, 0x184f
mov cx, word [eax + 0x490dc0]
sub cx, 1
mov edx, 2
imul eax, edx, 0x184f
mov word [eax + 0x490dc0], cx
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [ebp - 0x28]
jle 0x40741a
mov edx, 4
imul eax, edx, 0x20f7
mov ecx, dword [eax + 0x4952f8]
add ecx, 1
mov dword [ebp - 0x18], ecx
mov edx, 4
imul eax, edx, 0x20f7
mov ecx, dword [ebp - 0x18]
mov dword [eax + 0x4952f8], ecx
mov edx, 2
imul eax, edx, 0x18c7
movsx ecx, word [eax + 0x490dc0]
imul ecx, dword [ebp - 0x18]
or ecx, 0x7208e751
cmp ecx, 0x6e069dec
jl 0x4073de
mov edx, 4
imul eax, edx, 0x1925
mov ecx, dword [eax + 0x4952f8]
add ecx, 0x4052ccdf
mov edx, 4
imul eax, edx, 0x1925
mov dword [eax + 0x4952f8], ecx
jmp 0x40741a
mov ecx, 4
imul edx, ecx, 0x1014
mov eax, dword [edx + 0x4952f8]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, 4
imul edx, ecx, 0x1014
mov eax, dword [ebp - 0x1c]
mov dword [edx + 0x4952f8], eax
mov edx, 4
imul eax, edx, 0x204e
mov edx, dword [eax + 0x4952f8]
mov esp, ebp
pop ebp
ret