Function at 0x4016f0
Capabilities:
Encrypt data using speck
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x16b4
call fcn.00403720
mov eax, dword [0x41ba40]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
sub esp, 8
fld qword [0x4135c0]
fstp qword [esp]
call fcn.00403570
add esp, 8
fstp qword [ebp - 0x188]
sub esp, 8
fld qword [0x4135b8]
fstp qword [esp]
call fcn.00403570
add esp, 8
fstp qword [ebp - 0x1500]
fld qword [0x4135b0]
fstp qword [ebp - 0x1570]
sub esp, 8
fld qword [ebp - 0x1570]
fstp qword [esp]
call fcn.00403440
add esp, 8
fstp qword [ebp - 0x2c0]
mov eax, dword [str.WORLD_WIDE]
mov dword [ebp - 0x544], eax
mov ecx, dword [0x413384]
mov dword [ebp - 0x540], ecx
mov dx, word [0x413388]
mov word [ebp - 0x53c], dx
mov al, byte [0x41338a]
mov byte [ebp - 0x53a], al
mov ecx, dword [str.reanimate]
mov dword [ebp - 0x314], ecx
mov edx, dword [0x413390]
mov dword [ebp - 0x310], edx
mov ax, word [0x413394]
mov word [ebp - 0x30c], ax
mov cl, byte [0x413396]
mov byte [ebp - 0x30a], cl
xor edx, edx
mov dword [ebp - 0x309], edx
mov dword [ebp - 0x305], edx
mov dword [ebp - 0x301], edx
mov dword [ebp - 0x2fd], edx
mov dword [ebp - 0x2f9], edx
mov dword [ebp - 0x2f5], edx
mov dword [ebp - 0x2f1], edx
mov byte [ebp - 0x2ed], dl
push str._pausing
lea eax, [ebp - 0x314]
push eax
call fcn.004032d0
add esp, 8
mov dword [ebp - 0x2cc], eax
push 0x28
push 0
lea ecx, [ebp - 0x314]
push ecx
call fcn.004033c0
add esp, 0xc
push str.source
lea edx, [ebp - 0x314]
push edx
call fcn.004032c0
add esp, 8
mov dword [ebp - 0x2cc], eax
push 3
push str._index
lea eax, [ebp - 0x314]
push eax
call fcn.00403180
add esp, 0xc
mov dword [ebp - 0x2cc], eax
lea ecx, [ebp - 0x538]
push ecx
call fcn.00403125
add esp, 4
mov dword [ebp - 0x1568], 0
mov dword [ebp - 0x2ec], 0
mov dword [ebp - 0x180], 0
push 0xa0
push 0
lea edx, [ebp - 0x17c]
push edx
call fcn.004033c0
add esp, 0xc
mov dword [ebp - 0x530], 0
push 0xa0
push 0
lea eax, [ebp - 0x52c]
push eax
call fcn.004033c0
add esp, 0xc
mov dword [ebp - 0x1564], 0
cmp dword [ebp - 0x2ec], 0x27
jge 0x401b0d
mov byte [ebp - 0x14f1], 1
mov dword [ebp - 0x3f8], 1
jmp 0x4018f4
mov ecx, dword [ebp - 0x3f8]
add ecx, 1
mov dword [ebp - 0x3f8], ecx
cmp dword [ebp - 0x3f8], 0x29
jge 0x401916
mov edx, dword [ebp - 0x3f8]
cmp dword [ebp + edx*4 - 0x180], 3
jle 0x401914
mov byte [ebp - 0x14f1], 0
jmp 0x4018e5
mov dword [ebp - 0x3f8], 1
jmp 0x401931
mov eax, dword [ebp - 0x3f8]
add eax, 1
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0x29
jge 0x401953
mov ecx, dword [ebp - 0x3f8]
cmp dword [ebp + ecx*4 - 0x530], 3
jle 0x401951
mov byte [ebp - 0x14f1], 0
jmp 0x401922
movzx edx, byte [ebp - 0x14f1]
test edx, edx
jne 0x401a08
mov dword [ebp - 0x2d0], 1
mov eax, dword [ebp - 0x1568]
add eax, 1
mov dword [ebp - 0x1568], eax
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ebp - 0x1568]
mov eax, dword [ebp + ecx*4 - 0x238]
cmp eax, dword [ebp + edx*4 - 0x234]
jne 0x4019b7
mov ecx, dword [ebp - 0x2d0]
add ecx, 1
mov dword [ebp - 0x2d0], ecx
mov edx, dword [ebp - 0x1568]
add edx, 1
mov dword [ebp - 0x1568], edx
jmp 0x40197b
mov eax, dword [ebp - 0x1568]
cmp dword [ebp + eax*4 - 0x238], 0
jne 0x4019e6
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp + ecx*4 - 0x180]
sub edx, 1
mov eax, dword [ebp - 0x2d0]
mov dword [ebp + eax*4 - 0x180], edx
jmp 0x401a03
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp + ecx*4 - 0x530]
sub edx, 1
mov eax, dword [ebp - 0x2d0]
mov dword [ebp + eax*4 - 0x530], edx
jmp 0x401b08
mov ecx, dword [ebp - 0x2ec]
sub ecx, dword [ebp - 0x1568]
add ecx, 1
cmp dword [ebp - 0x1564], ecx
jge 0x401a4c
mov edx, dword [ebp - 0x2ec]
sub edx, dword [ebp - 0x1568]
add edx, 1
mov dword [ebp - 0x1564], edx
mov eax, dword [ebp - 0x1568]
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x2ec]
mov dword [ebp - 0x3f4], ecx
cmp dword [ebp - 0x2ec], 0x27
jge 0x401b08
mov dword [ebp - 0x2d0], 1
mov edx, dword [ebp - 0x2ec]
add edx, 1
mov dword [ebp - 0x2ec], edx
mov eax, dword [ebp - 0x2ec]
sub eax, 1
cmp eax, 0x28
jge 0x401abc
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ebp + ecx*4 - 0x238]
cmp eax, dword [ebp + edx*4 - 0x234]
jne 0x401abc
mov ecx, dword [ebp - 0x2d0]
add ecx, 1
mov dword [ebp - 0x2d0], ecx
mov edx, dword [ebp - 0x2ec]
add edx, 1
mov dword [ebp - 0x2ec], edx
jmp 0x401a72
mov eax, dword [ebp - 0x2ec]
cmp dword [ebp + eax*4 - 0x238], 0
jne 0x401aeb
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp + ecx*4 - 0x180]
add edx, 1
mov eax, dword [ebp - 0x2d0]
mov dword [ebp + eax*4 - 0x180], edx
jmp 0x401b08
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp + ecx*4 - 0x530]
add edx, 1
mov eax, dword [ebp - 0x2d0]
mov dword [ebp + eax*4 - 0x530], edx
jmp 0x4018c5
mov dword [ebp - 0x190], 0x23
fld qword [0x4135a8]
fstp qword [ebp - 0x458]
mov dword [ebp - 0x14f0], str.truth_be_told
mov dword [ebp - 0x464], 0
mov ecx, dword [ebp - 0x464]
mov dword [ebp - 0x2c8], ecx
mov edx, dword [ebp - 0x2c8]
mov dword [ebp - 0x2b4], edx
mov eax, dword [ebp - 0x14f0]
mov cl, byte [eax]
mov byte [ebp - 0x31d], cl
movsx edx, byte [ebp - 0x31d]
mov eax, dword [ebp - 0x14f0]
add eax, 1
mov dword [ebp - 0x14f0], eax
test edx, edx
je 0x401bca
mov cl, byte [ebp - 0x31d]
mov byte [ebp - 0x16a8], cl
cmp byte [ebp - 0x16a8], 0x41
je 0x401b97
cmp byte [ebp - 0x16a8], 0x61
je 0x401ba8
jmp 0x401bb9
mov edx, dword [ebp - 0x2b4]
add edx, 1
mov dword [ebp - 0x2b4], edx
jmp 0x401bc8
mov eax, dword [ebp - 0x2c8]
add eax, 1
mov dword [ebp - 0x2c8], eax
jmp 0x401bc8
mov ecx, dword [ebp - 0x464]
add ecx, 1
mov dword [ebp - 0x464], ecx
jmp 0x401b4f
mov edx, dword [str.Roger_that]
mov dword [ebp - 0x1560], edx
mov eax, dword [0x4133c8]
mov dword [ebp - 0x155c], eax
mov cx, word [0x4133cc]
mov word [ebp - 0x1558], cx
mov dl, byte [0x4133ce]
mov byte [ebp - 0x1556], dl
push 0x45
push 0
lea eax, [ebp - 0x1555]
push eax
call fcn.004033c0
add esp, 0xc
mov ecx, dword [str.Cheetahs_speed]
mov dword [ebp - 0x450], ecx
mov edx, dword [0x4133d4]
mov dword [ebp - 0x44c], edx
mov eax, dword [0x4133d8]
mov dword [ebp - 0x448], eax
mov ecx, dword [0x4133dc]
mov dword [ebp - 0x444], ecx
push 0x40
push 0
lea edx, [ebp - 0x440]
push edx
call fcn.004033c0
add esp, 0xc
push 0x50
lea eax, [ebp - 0x1560]
push eax
lea ecx, [ebp - 0x450]
push ecx
call fcn.00402dc0
add esp, 0xc
push 0x1ea0
push 0
call fcn.00402ba1
add esp, 8
mov dword [0x41cea0], eax
push str.Those_Who_Will_Not_Learn_From_History
lea edx, [ebp - 0x98]
push edx
call fcn.004032c0
add esp, 8
push str.THOSE_WHO_WILL_NOT_LEARN_FROM_their_mistakes
lea eax, [ebp - 0x2b0]
push eax
call fcn.004032c0
add esp, 8
push str.Comparing_the_first_29_characters_of_two_strings._n
call fcn.00402adc
add esp, 4
push 0x1d
lea ecx, [ebp - 0x2b0]
push ecx
lea edx, [ebp - 0x98]
push edx
call fcn.00411ff9
add esp, 0xc
mov dword [ebp - 0xd4], eax
push str.The_first_29_characters_of_String_1_are
call fcn.00402adc
add esp, 4
cmp dword [ebp - 0xd4], 0
jge 0x401cf4
push str.less_than_String_2._n
call fcn.00402adc
add esp, 4
jmp 0x401d19
cmp dword [ebp - 0xd4], 0
jne 0x401d0c
push str.equal_to_String_2._n
call fcn.00402adc
add esp, 4
jmp 0x401d19
push str.greater_than_String_2._n
call fcn.00402adc
add esp, 4
mov eax, dword [0x41cea0]
mov dword [0x41cea4], eax
mov dword [ebp - 0x2e4], 0
jmp 0x401d3e
mov ecx, dword [ebp - 0x2e4]
add ecx, 1
mov dword [ebp - 0x2e4], ecx
cmp dword [ebp - 0x2e4], 0x1a
jge 0x401d6f
mov dword [ebp - 0x460], 0
jmp 0x401d62
mov edx, dword [ebp - 0x460]
add edx, 1
mov dword [ebp - 0x460], edx
cmp dword [ebp - 0x460], 3
jge 0x401d6d
jmp 0x401d53
jmp 0x401d2f
mov dword [ebp - 0x1574], 0
jmp 0x401d8a
mov eax, dword [ebp - 0x1574]
add eax, 1
mov dword [ebp - 0x1574], eax
cmp dword [ebp - 0x1574], 0x21
jge 0x401da0
cmp dword [ebp - 0x1574], 4
jne 0x401d9e
jmp 0x401da0
jmp 0x401d7b
call fcn.00402a5e
mov dword [ebp - 0x16ac], eax
fild dword [ebp - 0x16ac]
fstp qword [ebp - 0x1510]
fld qword [ebp - 0x1510]
fdiv qword [0x4135a0]
fstp qword [ebp - 0x1510]
mov dword [ebp - 0x484], 0
jmp 0x401de4
mov ecx, dword [ebp - 0x484]
add ecx, 1
mov dword [ebp - 0x484], ecx
cmp dword [ebp - 0x484], 0x64
jge 0x401def
jmp 0x401dd5
call fcn.00402a5e
mov dword [ebp - 0x16b0], eax
fild dword [ebp - 0x16b0]
fdiv qword [0x4135a0]
fsub qword [ebp - 0x1510]
fstp qword [ebp - 0x2e0]
sub esp, 8
fld qword [ebp - 0x2e0]
fstp qword [esp]
push str.The_elapsed_time_is__lf_seconds_n
call fcn.00402adc
add esp, 0xc
mov dword [ebp - 0x45c], 0x2a
mov dword [ebp - 0x1508], 0x35c
push 0xa
lea edx, [ebp - 0x2c]
push edx
push 0xffffff01
call fcn.00402a37
add esp, 0xc
mov dword [ebp - 0x47c], eax
push 2
lea eax, [ebp - 0x2c]
push eax
push 0xffffff01
call fcn.00402a0d
add esp, 0xc
mov dword [ebp - 0x47c], eax
push 0x10
lea ecx, [ebp - 0x2c]
push ecx
push 0xffffff01
call fcn.00402a0d
add esp, 0xc
mov dword [ebp - 0x47c], eax
mov dword [ebp - 0x478], 0xf50
mov dword [ebp - 0x14ec], 0xedd
mov dword [ebp - 0x244], 0
fldz
fstp qword [ebp - 0x470]
mov dword [ebp - 0x31c], 0x419b80
mov dword [ebp - 0x1578], 0
jmp 0x401ed5
mov edx, dword [ebp - 0x1578]
add edx, 1
mov dword [ebp - 0x1578], edx
mov eax, dword [ebp - 0x1578]
cmp eax, dword [ebp - 0x478]
je 0x402379
mov dword [ebp - 0x1634], 0x38
mov dword [ebp - 0x1618], 0x59
mov ecx, dword [ebp - 0x1634]
mov dword [ebp - 0x1614], ecx
mov edx, dword [ebp - 0x1618]
mov dword [ebp - 0x1634], edx
mov eax, dword [ebp - 0x1614]
mov dword [ebp - 0x1618], eax
mov ecx, dword [ebp - 0x1578]
add ecx, 1
mov dword [ebp - 0x474], ecx
mov dword [ebp - 0x168c], 0
jmp 0x401f49
mov edx, dword [ebp - 0x168c]
add edx, 1
mov dword [ebp - 0x168c], edx
cmp dword [ebp - 0x168c], 0x73
jg 0x401f84
mov dword [ebp - 0x1690], 0
jmp 0x401f6d
mov eax, dword [ebp - 0x1690]
add eax, 1
mov dword [ebp - 0x1690], eax
cmp dword [ebp - 0x1690], 0x6e
jg 0x401f82
mov dword [ebp - 0x1694], 0x4ff
jmp 0x401f5e
jmp 0x401f3a
mov dword [ebp - 0x15fc], 0x1a8
mov dword [ebp - 0x1698], 0
jmp 0x401fa9
mov ecx, dword [ebp - 0x1698]
add ecx, 1
mov dword [ebp - 0x1698], ecx
cmp dword [ebp - 0x1698], 0x78
jge 0x401fec
mov dword [ebp - 0x169c], 0
jmp 0x401fcd
mov edx, dword [ebp - 0x169c]
add edx, 1
mov dword [ebp - 0x169c], edx
cmp dword [ebp - 0x169c], 0x7d
jge 0x401fea
mov eax, dword [ebp - 0x15fc]
imul eax, eax, 0x11eb
mov dword [ebp - 0x1608], eax
jmp 0x401fbe
jmp 0x401f9a
sub esp, 8
fldz
fstp qword [esp]
call fcn.004028a0
add esp, 8
mov ecx, dword [ebp - 0x1578]
mov edx, dword [ebp - 0x31c]
movzx eax, word [edx + ecx*2]
mov dword [ebp - 0x16b4], eax
fild dword [ebp - 0x16b4]
faddp st(1)
call fcn.00403750
mov byte [ebp - 0x465], al
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_GetWindowTextA]
and ebx, dword [ebp - 0x1508]
or dx, bx
movzx eax, byte [esp - 0x17]
mov dword [ebp - 0x45c], eax
lea ecx, [ebp - 0x1630]
push ecx
call fcn.00402590
add esp, 4
mov dword [ebp - 0x163c], 0
jmp 0x40206f
mov edx, dword [ebp - 0x163c]
add edx, 1
mov dword [ebp - 0x163c], edx
cmp dword [ebp - 0x163c], 0xa
jge 0x402145
mov dword [ebp - 0x1628], 0
jmp 0x402097
mov eax, dword [ebp - 0x1628]
add eax, 1
mov dword [ebp - 0x1628], eax
cmp dword [ebp - 0x1628], 0xf
jge 0x4020b3
mov ecx, dword [ebp - 0x1628]
mov dword [ebp + ecx*4 - 0x1684], 0
jmp 0x402088
mov dword [ebp - 0x1604], 0
mov dword [ebp - 0x1628], 2
jmp 0x4020d8
mov edx, dword [ebp - 0x1628]
add edx, 1
mov dword [ebp - 0x1628], edx
cmp dword [ebp - 0x1628], 0xf
jge 0x402140
mov eax, dword [ebp - 0x1628]
cmp dword [ebp + eax*4 - 0x1684], 0
jne 0x40213e
mov ecx, dword [ebp - 0x1628]
shl ecx, 1
mov dword [ebp - 0x1620], ecx
jmp 0x402113
mov edx, dword [ebp - 0x1620]
add edx, dword [ebp - 0x1628]
mov dword [ebp - 0x1620], edx
cmp dword [ebp - 0x1620], 0xf
jge 0x40212f
mov eax, dword [ebp - 0x1620]
mov dword [ebp + eax*4 - 0x1684], 0xffffffff
jmp 0x402101
mov ecx, dword [ebp - 0x1604]
add ecx, 1
mov dword [ebp - 0x1604], ecx
jmp 0x4020c9
jmp 0x402060
lea edx, [ebp - 0x1590]
push edx
call fcn.00402590
add esp, 4
mov eax, dword [ebp - 0x1604]
push eax
mov ecx, dword [ebp - 0x162c]
push ecx
mov edx, dword [ebp - 0x1630]
push edx
mov eax, dword [ebp - 0x158c]
push eax
mov ecx, dword [ebp - 0x1590]
push ecx
call fcn.00402570
add esp, 0x10
fdiv qword [0x413590]
sub esp, 8
fstp qword [esp]
push str.Program_takes_an_average_of__f_seconds_to_find__d_primes._n
call fcn.00402adc
add esp, 0x10
mov dword [ebp - 0x1600], 0
jmp 0x4021b3
mov edx, dword [ebp - 0x1600]
add edx, 1
mov dword [ebp - 0x1600], edx
mov eax, dword [ebp - 0x1600]
movsx ecx, byte [ebp + eax - 0x15f8]
test ecx, ecx
je 0x40220b
mov edx, dword [ebp - 0x1600]
movsx eax, byte [ebp + edx - 0x15f8]
cmp eax, 0x7a
jg 0x402209
mov ecx, dword [ebp - 0x1600]
movsx edx, byte [ebp + ecx - 0x15f8]
cmp edx, 0x61
jl 0x402209
mov eax, dword [ebp - 0x1600]
movsx ecx, byte [ebp + eax - 0x15f8]
sub ecx, 0x20
mov edx, dword [ebp - 0x1600]
mov byte [ebp + edx - 0x15f8], cl
jmp 0x4021a4
mov bl, 0xff
mov eax, dword [ebp - 0x45c]
cmp al, bl
jne 0x40221e
test edx, esi
jmp 0x40222b
mov al, 0x33
mov eax, dword ds:[esi + 0x40]
call eax
jmp 0x402557
fld qword [0x413588]
fstp qword [ebp - 0x1648]
sub esp, 8
fld qword [ebp - 0x1588]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0x1648]
fstp qword [esp]
push str.exp___lf_____lf_n
call fcn.00402adc
add esp, 0x14
mov dword [ebp - 0x1638], 0xf
mov dword [ebp - 0x161c], 0x1a
mov dword [ebp - 0x1624], 1
jmp 0x40228b
mov eax, dword [ebp - 0x1624]
add eax, 1
mov dword [ebp - 0x1624], eax
mov ecx, dword [ebp - 0x1624]
cmp ecx, dword [ebp - 0x1638]
jge 0x4022b5
mov edx, dword [ebp - 0x161c]
cmp edx, dword [ebp - 0x1688]
jle 0x4022b3
mov eax, dword [ebp - 0x161c]
mov dword [ebp - 0x1688], eax
jmp 0x40227c
movsx ecx, byte [ebp - 0x465]
mov edx, dword [ebp - 0x474]
xor edx, dword [ebp - 0x14ec]
mov eax, dword [ebp - 0x474]
sub eax, dword [ebp - 0x14ec]
xor edx, eax
add ecx, edx
mov edx, dword [0x41cea4]
add edx, dword [ebp - 0x1578]
mov byte [edx], cl
mov dword [ebp - 0x157c], 0xc
push 0x413550
call fcn.00402adc
add esp, 4
lea eax, [ebp - 0x157c]
push eax
push 0x41355c
call fcn.0040287f
add esp, 8
mov dword [ebp - 0x1610], 1
jmp 0x40232c
mov ecx, dword [ebp - 0x1610]
add ecx, 1
mov dword [ebp - 0x1610], ecx
mov edx, dword [ebp - 0x1610]
cmp edx, dword [ebp - 0x157c]
jg 0x402374
mov dword [ebp - 0x160c], 1
jmp 0x402355
mov eax, dword [ebp - 0x160c]
add eax, 1
mov dword [ebp - 0x160c], eax
mov ecx, dword [ebp - 0x160c]
cmp ecx, dword [ebp - 0x157c]
jg 0x402365
jmp 0x402346
push 0x413560
call fcn.00402adc
add esp, 4
jmp 0x40231d
jmp 0x401ec6
fld qword [0x413580]
fstp qword [ebp - 0xd0]
sub esp, 8
fld qword [ebp - 0xd0]
fstp qword [esp]
call fcn.004026d0
add esp, 8
fstp qword [ebp - 0x2d8]
sub esp, 8
fld qword [ebp - 0x2d8]
fstp qword [esp]
sub esp, 8
fld qword [ebp - 0xd0]
fstp qword [esp]
push str.cos___lf_____lf_n
call fcn.00402adc
add esp, 0x14
mov dword [ebp - 0x240], 0xa
lea edx, [ebp - 0x240]
push edx
push 0x413578
call fcn.0040287f
add esp, 8
mov dword [ebp - 0x23c], 0
jmp 0x4023fd
mov eax, dword [ebp - 0x23c]
add eax, 1
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x23c]
cmp ecx, dword [ebp - 0x240]
jge 0x402428
mov edx, dword [ebp - 0x23c]
lea eax, [ebp + edx*4 - 0x14e8]
push eax
push 0x41357c
call fcn.0040287f
add esp, 8
jmp 0x4023ee
mov dword [ebp - 0x23c], 0
jmp 0x402443
mov ecx, dword [ebp - 0x23c]
add ecx, 1
mov dword [ebp - 0x23c], ecx
mov edx, dword [ebp - 0x23c]
cmp edx, dword [ebp - 0x240]
jge 0x4024ed
mov dword [ebp - 0x3fc], 0
jmp 0x402470
mov eax, dword [ebp - 0x3fc]
add eax, 1
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x240]
sub ecx, dword [ebp - 0x23c]
sub ecx, 1
cmp dword [ebp - 0x3fc], ecx
jge 0x4024e8
mov edx, dword [ebp - 0x3fc]
mov eax, dword [ebp - 0x3fc]
mov ecx, dword [ebp + edx*4 - 0x14e8]
cmp ecx, dword [ebp + eax*4 - 0x14e4]
jle 0x4024e3
mov edx, dword [ebp - 0x3fc]
mov eax, dword [ebp + edx*4 - 0x14e8]
mov dword [ebp - 0x16a0], eax
mov ecx, dword [ebp - 0x3fc]
mov edx, dword [ebp - 0x3fc]
mov eax, dword [ebp + edx*4 - 0x14e4]
mov dword [ebp + ecx*4 - 0x14e8], eax
mov ecx, dword [ebp - 0x3fc]
mov edx, dword [ebp - 0x16a0]
mov dword [ebp + ecx*4 - 0x14e4], edx
jmp 0x402461
jmp 0x402434
mov dword [ebp - 0x18c], 0xa
mov dword [ebp - 0x16a4], 1
jmp 0x402512
mov eax, dword [ebp - 0x16a4]
add eax, 1
mov dword [ebp - 0x16a4], eax
cmp dword [ebp - 0x16a4], 0xc
jg 0x402530
mov ecx, dword [ebp - 0x16a4]
mov edx, dword [ebp - 0x16a4]
mov dword [ebp + ecx*4 - 0xcc], edx
jmp 0x402503
mov dword [ebp - 0x318], 4
mov dword [ebp - 0x328], 8
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov eax, dword [ebp + 8]
push eax
call dword [0x41cea0]
add esp, 4
xor eax, eax
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00403711
mov esp, ebp
pop ebp
ret 0x10