Function at 0x4072a0
Capabilities:
Encode data using xor
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x41906d
mov eax, dword fs:[0]
push eax
sub esp, 0x80
mov eax, dword [0x42200c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x68], eax
push 0x65
push eax
call dword [sym.imp.USER32.dll_LoadIconW]
push 0x10
push 0x20
push 0x20
push 1
push str.ResourceAnyDesk.ico
push 0
mov dword [ebp - 0x6c], eax
call dword [sym.imp.USER32.dll_LoadImageW]
push eax
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x1c], 0x989f979b
mov dword [ebp - 0x18], 0x92989fa1
mov word [ebp - 0x14], 0x8199
mov edi, dword [eax]
mov eax, dword [0x423a10]
mov byte [ebp - 0x61], 0xf6
mov dword [ebp - 0x70], edi
cmp eax, dword [edi + 4]
jle 0x407370
push 0x423a10
call fcn.0040cc08
add esp, 4
cmp dword [0x423a10], 0xffffffff
jne 0x407370
mov ax, word [ebp - 0x14]
movq xmm0, qword [ebp - 0x1c]
mov word [0x423894], ax
mov al, byte [ebp - 0x61]
push 0x419b50
movq qword [0x42388c], xmm0
mov byte [0x423896], al
call fcn.0040cf1a
push 0x423a10
call fcn.0040cbbe
add esp, 8
cmp byte [0x423896], 0
je 0x40738d
xor eax, eax
nop dword [eax + eax]
xor byte [eax + 0x42388c], 0xf6
inc eax
cmp eax, 0xb
jb 0x407380
sub esp, 0x18
mov edx, 0x42388c
mov ecx, esp
lea esi, [edx + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x4073b0
sub edx, esi
push edx
push 0x42388c
call fcn.0040bfe0
mov edx, dword [ebp - 0x68]
mov ecx, 0x4040b0
call fcn.00403600
mov eax, dword [0x4238d8]
add esp, 0x1c
mov dword [ebp - 0x18], 0xb28f98b7
mov dword [ebp - 0x14], 0xf69d8593
push 0x8c
cmp eax, dword [edi + 4]
jle 0x407432
push 0x4238d8
call fcn.0040cc08
add esp, 4
cmp dword [0x4238d8], 0xffffffff
jne 0x407432
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
push 0x419b10
mov dword [0x42376c], eax
mov dword [0x423770], ecx
call fcn.0040cf1a
push 0x4238d8
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423773]
test al, al
je 0x407473
xor byte [0x42376c], 0xf6
xor byte [0x42376d], 0xf6
xor byte [0x42376e], 0xf6
xor byte [0x42376f], 0xf6
xor byte [0x423770], 0xf6
xor byte [0x423771], 0xf6
xor byte [0x423772], 0xf6
xor al, 0xf6
mov byte [0x423773], al
sub esp, 0x18
mov ecx, 0x42376c
mov edx, esp
mov dword [ebp - 0x60], esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407497
sub ecx, esi
push ecx
push 0x42376c
mov ecx, edx
call fcn.0040bfe0
mov dword [ebp - 4], 0
mov eax, dword [0x4237bc]
mov dword [ebp - 0x1c], 0x989f979b
mov dword [ebp - 0x18], 0x92989fa1
mov word [ebp - 0x14], 0x8199
mov byte [ebp - 0x61], 0xf6
cmp eax, dword [edi + 4]
jle 0x407525
push 0x4237bc
call fcn.0040cc08
add esp, 4
cmp dword [0x4237bc], 0xffffffff
jne 0x407525
mov ax, word [ebp - 0x14]
movq xmm0, qword [ebp - 0x1c]
mov word [0x423730], ax
mov al, byte [ebp - 0x61]
push 0x419b20
movq qword [0x423728], xmm0
mov byte [0x423732], al
call fcn.0040cf1a
push 0x4237bc
call fcn.0040cbbe
add esp, 8
cmp byte [0x423732], 0
je 0x40753d
xor eax, eax
xor byte [eax + 0x423728], 0xf6
inc eax
cmp eax, 0xb
jb 0x407530
sub esp, 0x18
mov ecx, 0x423728
mov edx, esp
mov dword [ebp - 0x2c], esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407561
sub ecx, esi
push ecx
push 0x423728
mov ecx, edx
call fcn.0040bfe0
mov byte [ebp - 4], 1
mov eax, dword [0x4236a8]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x4075d4
push 0x4236a8
call fcn.0040cc08
add esp, 4
cmp dword [0x4236a8], 0xffffffff
jne 0x4075d4
mov eax, dword [ebp - 0x18]
mov dword [0x4239bc], eax
mov ax, word [ebp - 0x14]
push 0x419b40
mov word [0x4239c0], ax
call fcn.0040cf1a
push 0x4236a8
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4239c1]
test al, al
je 0x407607
xor byte [0x4239bc], 0xf6
xor byte [0x4239bd], 0xf6
xor byte [0x4239be], 0xf6
xor byte [0x4239bf], 0xf6
xor byte [0x4239c0], 0xf6
xor al, 0xf6
mov byte [0x4239c1], al
sub esp, 0x18
mov ecx, 0x4239bc
mov esi, esp
lea edi, [ecx + 1]
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407628
sub ecx, edi
push ecx
push 0x4239bc
mov ecx, esi
call fcn.0040bfe0
mov ecx, dword [ebp - 0x68]
mov edx, 0xaa
mov dword [ebp - 4], 0xffffffff
call fcn.00403770
add esp, 0x4c
push 0xb4d6ff
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov edi, dword [ebp - 0x70]
mov esi, eax
mov ecx, dword [0x4236a0]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c7
cmp ecx, dword [edi + 4]
jle 0x4076bf
push 0x4236a0
call fcn.0040cc08
add esp, 4
cmp dword [0x4236a0], 0xffffffff
jne 0x4076bf
mov eax, dword [ebp - 0x18]
mov dword [0x4237dc], eax
mov ax, word [ebp - 0x14]
push 0x419b00
mov word [0x4237e0], ax
call fcn.0040cf1a
push 0x4236a0
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4237e1]
test al, al
je 0x4076f2
xor byte [0x4237dc], 0xf6
xor byte [0x4237dd], 0xf6
xor byte [0x4237de], 0xf6
xor byte [0x4237df], 0xf6
xor byte [0x4237e0], 0xf6
xor al, 0xf6
mov byte [0x4237e1], al
mov ecx, 0x4237dc
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407713
sub ecx, edx
push ecx
push 0x4237dc
lea ecx, [ebp - 0x40]
call fcn.0040bfe0
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 2
push eax
mov ecx, 0x423624
call fcn.0040b900
push esi
mov esi, dword [sym.imp.USER32.dll_SetClassLongW]
push 0xfffffffffffffff6
push dword [eax]
call esi
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x407787
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40777d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b359
push edx
push ecx
call fcn.0040caba
add esp, 8
mov eax, dword [0x42398c]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x4077e0
push 0x42398c
call fcn.0040cc08
add esp, 4
cmp dword [0x42398c], 0xffffffff
jne 0x4077e0
mov eax, dword [ebp - 0x18]
mov dword [0x423a08], eax
mov ax, word [ebp - 0x14]
push 0x419af0
mov word [0x423a0c], ax
call fcn.0040cf1a
push 0x42398c
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423a0d]
test al, al
je 0x407813
xor byte [0x423a08], 0xf6
xor byte [0x423a09], 0xf6
xor byte [0x423a0a], 0xf6
xor byte [0x423a0b], 0xf6
xor byte [0x423a0c], 0xf6
xor al, 0xf6
mov byte [0x423a0d], al
mov ecx, 0x423a08
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407834
sub ecx, edx
push ecx
push 0x423a08
lea ecx, [ebp - 0x40]
call fcn.0040bfe0
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 3
push eax
mov ecx, 0x423624
call fcn.0040b900
push dword [ebp - 0x6c]
push 0xfffffffffffffff2
push dword [eax]
call esi
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x4078a4
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40789a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b35e
push edx
push ecx
call fcn.0040caba
add esp, 8
push 0x10
push 0x20
push 0x20
push 1
push str.ResourceAnyDesk.ico
push 0
call dword [sym.imp.USER32.dll_LoadImageW]
push eax
mov eax, dword [0x4238a4]
mov dword [ebp - 0x20], 0x99959385
mov dword [ebp - 0x1c], 0x9fa19298
mov dword [ebp - 0x18], 0x81999298
mov byte [ebp - 0x61], 0xf6
cmp eax, dword [edi + 4]
jle 0x40792a
push 0x4238a4
call fcn.0040cc08
add esp, 4
cmp dword [0x4238a4], 0xffffffff
jne 0x40792a
mov eax, dword [ebp - 0x18]
movq xmm0, qword [ebp - 0x20]
mov dword [0x4236d0], eax
mov al, byte [ebp - 0x61]
push 0x419ad0
movq qword [0x4236c8], xmm0
mov byte [0x4236d4], al
call fcn.0040cf1a
push 0x4238a4
call fcn.0040cbbe
add esp, 8
cmp byte [0x4236d4], 0
je 0x407942
xor eax, eax
xor byte [eax + 0x4236c8], 0xf6
inc eax
cmp eax, 0xd
jb 0x407935
sub esp, 0x18
mov edx, 0x4236c8
mov ecx, esp
lea esi, [edx + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov al, byte [edx]
inc edx
test al, al
jne 0x407963
sub edx, esi
push edx
push 0x4236c8
call fcn.0040bfe0
mov edx, dword [ebp - 0x68]
mov ecx, 0x406770
call fcn.00403600
mov eax, dword [0x423788]
add esp, 0x1c
mov dword [ebp - 0x18], 0xb28f98b7
mov dword [ebp - 0x14], 0xf69d8593
push 0x6e
cmp eax, dword [edi + 4]
jle 0x4079e2
push 0x423788
call fcn.0040cc08
add esp, 4
cmp dword [0x423788], 0xffffffff
jne 0x4079e2
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
push 0x419a90
mov dword [0x4239e8], eax
mov dword [0x4239ec], ecx
call fcn.0040cf1a
push 0x423788
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4239ef]
test al, al
je 0x407a23
xor byte [0x4239e8], 0xf6
xor byte [0x4239e9], 0xf6
xor byte [0x4239ea], 0xf6
xor byte [0x4239eb], 0xf6
xor byte [0x4239ec], 0xf6
xor byte [0x4239ed], 0xf6
xor byte [0x4239ee], 0xf6
xor al, 0xf6
mov byte [0x4239ef], al
sub esp, 0x18
mov ecx, 0x4239e8
mov edx, esp
mov dword [ebp - 0x14], esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407a47
sub ecx, esi
push ecx
push 0x4239e8
mov ecx, edx
call fcn.0040bfe0
mov dword [ebp - 4], 4
mov eax, dword [0x423924]
mov dword [ebp - 0x38], 0x99959385
mov dword [ebp - 0x34], 0x9fa19298
mov dword [ebp - 0x30], 0x81999298
mov byte [ebp - 0x61], 0xf6
cmp eax, dword [edi + 4]
jle 0x407ad4
push 0x423924
call fcn.0040cc08
add esp, 4
cmp dword [0x423924], 0xffffffff
jne 0x407ad4
mov eax, dword [ebp - 0x30]
movq xmm0, qword [ebp - 0x38]
mov dword [0x423acc], eax
mov al, byte [ebp - 0x61]
push 0x419aa0
movq qword [0x423ac4], xmm0
mov byte [0x423ad0], al
call fcn.0040cf1a
push 0x423924
call fcn.0040cbbe
add esp, 8
cmp byte [0x423ad0], 0
je 0x407aed
xor eax, eax
nop
xor byte [eax + 0x423ac4], 0xf6
inc eax
cmp eax, 0xd
jb 0x407ae0
sub esp, 0x18
mov ecx, 0x423ac4
mov edx, esp
mov dword [ebp - 0x2c], esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407b11
sub ecx, esi
push ecx
push 0x423ac4
mov ecx, edx
call fcn.0040bfe0
mov byte [ebp - 4], 5
mov eax, dword [0x4237d4]
mov dword [ebp - 0x60], 0x9298819e
mov word [ebp - 0x5c], 0xf6c4
cmp eax, dword [edi + 4]
jle 0x407b84
push 0x4237d4
call fcn.0040cc08
add esp, 4
cmp dword [0x4237d4], 0xffffffff
jne 0x407b84
mov eax, dword [ebp - 0x60]
mov dword [0x42370c], eax
mov ax, word [ebp - 0x5c]
push 0x419ac0
mov word [0x423710], ax
call fcn.0040cf1a
push 0x4237d4
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423711]
test al, al
je 0x407bb7
xor byte [0x42370c], 0xf6
xor byte [0x42370d], 0xf6
xor byte [0x42370e], 0xf6
xor byte [0x42370f], 0xf6
xor byte [0x423710], 0xf6
xor al, 0xf6
mov byte [0x423711], al
sub esp, 0x18
mov ecx, 0x42370c
mov esi, esp
lea edi, [ecx + 1]
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407bd8
sub ecx, edi
push ecx
push 0x42370c
mov ecx, esi
call fcn.0040bfe0
mov ecx, dword [ebp - 0x68]
mov edx, 0xd2
mov dword [ebp - 4], 0xffffffff
call fcn.00403770
add esp, 0x4c
push 0xfcfce0
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov edi, dword [ebp - 0x70]
mov esi, eax
mov ecx, dword [0x423794]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c4
cmp ecx, dword [edi + 4]
jle 0x407c6f
push 0x423794
call fcn.0040cc08
add esp, 4
cmp dword [0x423794], 0xffffffff
jne 0x407c6f
mov eax, dword [ebp - 0x18]
mov dword [0x423a24], eax
mov ax, word [ebp - 0x14]
push 0x419a80
mov word [0x423a28], ax
call fcn.0040cf1a
push 0x423794
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423a29]
test al, al
je 0x407ca2
xor byte [0x423a24], 0xf6
xor byte [0x423a25], 0xf6
xor byte [0x423a26], 0xf6
xor byte [0x423a27], 0xf6
xor byte [0x423a28], 0xf6
xor al, 0xf6
mov byte [0x423a29], al
mov ecx, 0x423a24
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407cc3
sub ecx, edx
push ecx
push 0x423a24
lea ecx, [ebp - 0x40]
call fcn.0040bfe0
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 6
push eax
mov ecx, 0x423624
call fcn.0040b900
push esi
mov esi, dword [sym.imp.USER32.dll_SetClassLongW]
push 0xfffffffffffffff6
push dword [eax]
call esi
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x407d37
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407d2d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b363
push edx
push ecx
call fcn.0040caba
add esp, 8
mov eax, dword [0x423a58]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c4
cmp eax, dword [edi + 4]
jle 0x407d90
push 0x423a58
call fcn.0040cc08
add esp, 4
cmp dword [0x423a58], 0xffffffff
jne 0x407d90
mov eax, dword [ebp - 0x18]
mov dword [0x423984], eax
mov ax, word [ebp - 0x14]
push 0x419a70
mov word [0x423988], ax
call fcn.0040cf1a
push 0x423a58
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423989]
test al, al
je 0x407dc3
xor byte [0x423984], 0xf6
xor byte [0x423985], 0xf6
xor byte [0x423986], 0xf6
xor byte [0x423987], 0xf6
xor byte [0x423988], 0xf6
xor al, 0xf6
mov byte [0x423989], al
mov ecx, 0x423984
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407de4
sub ecx, edx
push ecx
push 0x423984
lea ecx, [ebp - 0x40]
call fcn.0040bfe0
lea eax, [ebp - 0x40]
mov dword [ebp - 4], 7
push eax
mov ecx, 0x423624
call fcn.0040b900
push dword [ebp - 0x6c]
push 0xfffffffffffffff2
push dword [eax]
call esi
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x407e54
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407e4a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b368
push edx
push ecx
call fcn.0040caba
add esp, 8
mov eax, dword [0x4239a4]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x407ead
push 0x4239a4
call fcn.0040cc08
add esp, 4
cmp dword [0x4239a4], 0xffffffff
jne 0x407ead
mov eax, dword [ebp - 0x18]
mov dword [0x423934], eax
mov ax, word [ebp - 0x14]
push 0x419a20
mov word [0x423938], ax
call fcn.0040cf1a
push 0x4239a4
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423939]
test al, al
je 0x407ee0
xor byte [0x423934], 0xf6
xor byte [0x423935], 0xf6
xor byte [0x423936], 0xf6
xor byte [0x423937], 0xf6
xor byte [0x423938], 0xf6
xor al, 0xf6
mov byte [0x423939], al
mov ecx, 0x423934
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407f01
sub ecx, edx
push ecx
push 0x423934
lea ecx, [ebp - 0x58]
call fcn.0040bfe0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 8
push eax
mov ecx, 0x423624
call fcn.0040b900
push 0x14
push 0xc8
push 0xc
push 0x11
push eax
mov eax, dword [0x423b18]
mov dword [ebp - 0x1c], 0x849385a3
mov dword [ebp - 0x18], 0x939b9798
mov word [ebp - 0x14], 0xf6cc
cmp eax, dword [edi + 4]
jle 0x407f9e
push 0x423b18
call fcn.0040cc08
add esp, 4
cmp dword [0x423b18], 0xffffffff
jne 0x407f9e
movq xmm0, qword [ebp - 0x1c]
mov ax, word [ebp - 0x14]
push 0x419a30
movq qword [0x423898], xmm0
mov word [0x4238a0], ax
call fcn.0040cf1a
push 0x423b18
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4238a1]
test al, al
je 0x407fed
xor byte [0x423898], 0xf6
xor byte [0x423899], 0xf6
xor byte [0x42389a], 0xf6
xor byte [0x42389b], 0xf6
xor byte [0x42389c], 0xf6
xor byte [0x42389d], 0xf6
xor byte [0x42389e], 0xf6
xor byte [0x42389f], 0xf6
xor byte [0x4238a0], 0xf6
xor al, 0xf6
mov byte [0x4238a1], al
sub esp, 0x18
mov ecx, 0x423898
mov edx, esp
mov dword [ebp - 0x14], esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408011
sub ecx, esi
push ecx
push 0x423898
mov ecx, edx
call fcn.0040bfe0
mov byte [ebp - 4], 9
mov eax, dword [0x423958]
mov dword [ebp - 0x34], 0x9394979a
mov dword [ebp - 0x30], 0x9385839a
mov word [ebp - 0x2c], 0xf684
cmp eax, dword [edi + 4]
jle 0x408090
push 0x423958
call fcn.0040cc08
add esp, 4
cmp dword [0x423958], 0xffffffff
jne 0x408090
movq xmm0, qword [ebp - 0x34]
mov ax, word [ebp - 0x2c]
push 0x419a50
movq qword [0x42379c], xmm0
mov word [0x4237a4], ax
call fcn.0040cf1a
push 0x423958
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4237a5]
test al, al
je 0x4080df
xor byte [0x42379c], 0xf6
xor byte [0x42379d], 0xf6
xor byte [0x42379e], 0xf6
xor byte [0x42379f], 0xf6
xor byte [0x4237a0], 0xf6
xor byte [0x4237a1], 0xf6
xor byte [0x4237a2], 0xf6
xor byte [0x4237a3], 0xf6
xor byte [0x4237a4], 0xf6
xor al, 0xf6
mov byte [0x4237a5], al
sub esp, 0x18
mov edx, 0x42379c
mov ecx, esp
lea esi, [edx + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov al, byte [edx]
inc edx
test al, al
jne 0x408100
sub edx, esi
push edx
push 0x42379c
call fcn.0040bfe0
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov byte [ebp - 4], 8
call fcn.00403950
mov dword [ebp - 4], 0xffffffff
add esp, 0x44
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x408160
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408156
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b36d
push edx
push ecx
call fcn.0040caba
add esp, 8
mov eax, dword [0x423790]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x4081b9
push 0x423790
call fcn.0040cc08
add esp, 4
cmp dword [0x423790], 0xffffffff
jne 0x4081b9
mov eax, dword [ebp - 0x18]
mov dword [0x423a4c], eax
mov ax, word [ebp - 0x14]
push 0x4199d0
mov word [0x423a50], ax
call fcn.0040cf1a
push 0x423790
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423a51]
test al, al
je 0x4081ec
xor byte [0x423a4c], 0xf6
xor byte [0x423a4d], 0xf6
xor byte [0x423a4e], 0xf6
xor byte [0x423a4f], 0xf6
xor byte [0x423a50], 0xf6
xor al, 0xf6
mov byte [0x423a51], al
mov ecx, 0x423a4c
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408210
sub ecx, edx
push ecx
push 0x423a4c
lea ecx, [ebp - 0x58]
call fcn.0040bfe0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0xa
push eax
mov ecx, 0x423624
call fcn.0040b900
push 0x14
push 0xc8
push 0x2d
push 0x13
push eax
mov eax, dword [0x42375c]
mov dword [ebp - 0x1c], 0x858597a6
mov dword [ebp - 0x18], 0x92849981
mov word [ebp - 0x14], 0xf6cc
cmp eax, dword [edi + 4]
jle 0x4082ad
push 0x42375c
call fcn.0040cc08
add esp, 4
cmp dword [0x42375c], 0xffffffff
jne 0x4082ad
movq xmm0, qword [ebp - 0x1c]
mov ax, word [ebp - 0x14]
push 0x4199e0
movq qword [0x4238a8], xmm0
mov word [0x4238b0], ax
call fcn.0040cf1a
push 0x42375c
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4238b1]
test al, al
je 0x4082fc
xor byte [0x4238a8], 0xf6
xor byte [0x4238a9], 0xf6
xor byte [0x4238aa], 0xf6
xor byte [0x4238ab], 0xf6
xor byte [0x4238ac], 0xf6
xor byte [0x4238ad], 0xf6
xor byte [0x4238ae], 0xf6
xor byte [0x4238af], 0xf6
xor byte [0x4238b0], 0xf6
xor al, 0xf6
mov byte [0x4238b1], al
sub esp, 0x18
mov ecx, 0x4238a8
mov edx, esp
mov dword [ebp - 0x14], esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408320
sub ecx, esi
push ecx
push 0x4238a8
mov ecx, edx
call fcn.0040bfe0
mov byte [ebp - 4], 0xb
mov eax, dword [0x4239f4]
mov dword [ebp - 0x34], 0x9394979a
mov dword [ebp - 0x30], 0x8597869a
mov word [ebp - 0x2c], 0xf685
cmp eax, dword [edi + 4]
jle 0x40839f
push 0x4239f4
call fcn.0040cc08
add esp, 4
cmp dword [0x4239f4], 0xffffffff
jne 0x40839f
movq xmm0, qword [ebp - 0x34]
mov ax, word [ebp - 0x2c]
push 0x419a00
movq qword [0x423a98], xmm0
mov word [0x423aa0], ax
call fcn.0040cf1a
push 0x4239f4
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423aa1]
test al, al
je 0x4083ee
xor byte [0x423a98], 0xf6
xor byte [0x423a99], 0xf6
xor byte [0x423a9a], 0xf6
xor byte [0x423a9b], 0xf6
xor byte [0x423a9c], 0xf6
xor byte [0x423a9d], 0xf6
xor byte [0x423a9e], 0xf6
xor byte [0x423a9f], 0xf6
xor byte [0x423aa0], 0xf6
xor al, 0xf6
mov byte [0x423aa1], al
sub esp, 0x18
mov edx, 0x423a98
mov ecx, esp
lea esi, [edx + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x408410
sub edx, esi
push edx
push 0x423a98
call fcn.0040bfe0
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov byte [ebp - 4], 0xa
call fcn.00403950
mov dword [ebp - 4], 0xffffffff
add esp, 0x44
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x408470
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408466
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b372
push edx
push ecx
call fcn.0040caba
add esp, 8
mov eax, dword [0x423b24]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x4084c9
push 0x423b24
call fcn.0040cc08
add esp, 4
cmp dword [0x423b24], 0xffffffff
jne 0x4084c9
mov eax, dword [ebp - 0x18]
mov dword [0x423690], eax
mov ax, word [ebp - 0x14]
push 0x419990
mov word [0x423694], ax
call fcn.0040cf1a
push 0x423b24
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423695]
test al, al
je 0x4084fc
xor byte [0x423690], 0xf6
xor byte [0x423691], 0xf6
xor byte [0x423692], 0xf6
xor byte [0x423693], 0xf6
xor byte [0x423694], 0xf6
xor al, 0xf6
mov byte [0x423695], al
mov ecx, 0x423690
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408520
sub ecx, edx
push ecx
push 0x423690
lea ecx, [ebp - 0x58]
call fcn.0040bfe0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0xc
push eax
mov ecx, 0x423624
call fcn.0040b900
push 0x14
push 0x41
push 9
push 0x48
push dword [eax]
mov eax, dword [0x4238f4]
cmp eax, dword [edi + 4]
jle 0x408597
push 0x4238f4
call fcn.0040cc08
add esp, 4
cmp dword [0x4238f4], 0xffffffff
jne 0x408597
push 0x4199a0
mov byte [0x4237c4], 0xf6
call fcn.0040cf1a
push 0x4238f4
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4237c4]
test al, al
je 0x4085a7
xor al, 0xf6
mov byte [0x4237c4], al
sub esp, 0x18
mov ecx, 0x4237c4
mov edx, esp
mov dword [ebp - 0x14], esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4085d0
sub ecx, esi
push ecx
push 0x4237c4
mov ecx, edx
call fcn.0040bfe0
mov byte [ebp - 4], 0xd
mov eax, dword [0x4239f0]
mov dword [ebp - 0x34], 0x829f9293
mov dword [ebp - 0x30], 0x84938583
mov byte [ebp - 0x61], 0xf6
cmp eax, dword [edi + 4]
jle 0x40864b
push 0x4239f0
call fcn.0040cc08
add esp, 4
cmp dword [0x4239f0], 0xffffffff
jne 0x40864b
movq xmm0, qword [ebp - 0x34]
mov al, byte [ebp - 0x61]
push 0x4199b0
movq qword [0x4238c8], xmm0
mov byte [0x4238d0], al
call fcn.0040cf1a
push 0x4239f0
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4238d0]
test al, al
je 0x408693
xor byte [0x4238c8], 0xf6
xor byte [0x4238c9], 0xf6
xor byte [0x4238ca], 0xf6
xor byte [0x4238cb], 0xf6
xor byte [0x4238cc], 0xf6
xor byte [0x4238cd], 0xf6
xor byte [0x4238ce], 0xf6
xor byte [0x4238cf], 0xf6
xor al, 0xf6
mov byte [0x4238d0], al
sub esp, 0x18
mov edx, 0x4238c8
mov ecx, esp
lea esi, [edx + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov al, byte [edx]
inc edx
test al, al
jne 0x4086b4
sub edx, esi
push edx
push 0x4238c8
call fcn.0040bfe0
mov edx, dword [ebp - 0x68]
mov ecx, 0x68
mov byte [ebp - 4], 0xc
call fcn.00403be0
mov dword [ebp - 4], 0xffffffff
add esp, 0x44
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x408717
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40870d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b377
push edx
push ecx
call fcn.0040caba
add esp, 8
mov eax, dword [0x423784]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x408770
push 0x423784
call fcn.0040cc08
add esp, 4
cmp dword [0x423784], 0xffffffff
jne 0x408770
mov eax, dword [ebp - 0x18]
mov dword [0x4236c0], eax
mov ax, word [ebp - 0x14]
push 0x419950
mov word [0x4236c4], ax
call fcn.0040cf1a
push 0x423784
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4236c5]
test al, al
je 0x4087a3
xor byte [0x4236c0], 0xf6
xor byte [0x4236c1], 0xf6
xor byte [0x4236c2], 0xf6
xor byte [0x4236c3], 0xf6
xor byte [0x4236c4], 0xf6
xor al, 0xf6
mov byte [0x4236c5], al
mov ecx, 0x4236c0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4087c4
sub ecx, edx
push ecx
push 0x4236c0
lea ecx, [ebp - 0x58]
call fcn.0040bfe0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0xe
push eax
mov ecx, 0x423624
call fcn.0040b900
push 0x14
push 0x41
push 0x2a
push 0x48
push dword [eax]
mov eax, dword [0x42396c]
cmp eax, dword [edi + 4]
jle 0x40883b
push 0x42396c
call fcn.0040cc08
add esp, 4
cmp dword [0x42396c], 0xffffffff
jne 0x40883b
push 0x419960
mov byte [0x4239b8], 0xf6
call fcn.0040cf1a
push 0x42396c
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4239b8]
test al, al
je 0x40884b
xor al, 0xf6
mov byte [0x4239b8], al
sub esp, 0x18
mov ecx, 0x4239b8
mov edx, esp
mov dword [ebp - 0x14], esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408870
sub ecx, esi
push ecx
push 0x4239b8
mov ecx, edx
call fcn.0040bfe0
mov byte [ebp - 4], 0xf
mov eax, dword [0x4238fc]
mov dword [ebp - 0x34], 0x829f9293
mov dword [ebp - 0x30], 0x85859786
mov byte [ebp - 0x61], 0xf6
cmp eax, dword [edi + 4]
jle 0x4088eb
push 0x4238fc
call fcn.0040cc08
add esp, 4
cmp dword [0x4238fc], 0xffffffff
jne 0x4088eb
movq xmm0, qword [ebp - 0x34]
mov al, byte [ebp - 0x61]
push 0x419970
movq qword [0x4237e4], xmm0
mov byte [0x4237ec], al
call fcn.0040cf1a
push 0x4238fc
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4237ec]
test al, al
je 0x408933
xor byte [0x4237e4], 0xf6
xor byte [0x4237e5], 0xf6
xor byte [0x4237e6], 0xf6
xor byte [0x4237e7], 0xf6
xor byte [0x4237e8], 0xf6
xor byte [0x4237e9], 0xf6
xor byte [0x4237ea], 0xf6
xor byte [0x4237eb], 0xf6
xor al, 0xf6
mov byte [0x4237ec], al
sub esp, 0x18
mov edx, 0x4237e4
mov ecx, esp
lea esi, [edx + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov al, byte [edx]
inc edx
test al, al
jne 0x408954
sub edx, esi
push edx
push 0x4237e4
call fcn.0040bfe0
mov edx, dword [ebp - 0x68]
mov ecx, 0x69
mov byte [ebp - 4], 0xe
call fcn.00403be0
mov dword [ebp - 4], 0xffffffff
add esp, 0x44
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x4089b7
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4089ad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b37c
push edx
push ecx
call fcn.0040caba
add esp, 8
mov eax, dword [0x423910]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x408a10
push 0x423910
call fcn.0040cc08
add esp, 4
cmp dword [0x423910], 0xffffffff
jne 0x408a10
mov eax, dword [ebp - 0x18]
mov dword [0x42374c], eax
mov ax, word [ebp - 0x14]
push 0x419910
mov word [0x423750], ax
call fcn.0040cf1a
push 0x423910
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423751]
test al, al
je 0x408a43
xor byte [0x42374c], 0xf6
xor byte [0x42374d], 0xf6
xor byte [0x42374e], 0xf6
xor byte [0x42374f], 0xf6
xor byte [0x423750], 0xf6
xor al, 0xf6
mov byte [0x423751], al
mov ecx, 0x42374c
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408a64
sub ecx, edx
push ecx
push 0x42374c
lea ecx, [ebp - 0x58]
call fcn.0040bfe0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x10
push eax
mov ecx, 0x423624
call fcn.0040b900
push 0x19
push 0x78
push 0x45
push 0x11
push dword [eax]
mov eax, dword [0x423808]
mov dword [ebp - 0x18], 0x9f9199ba
mov word [ebp - 0x14], 0xf698
cmp eax, dword [edi + 4]
jle 0x408af3
push 0x423808
call fcn.0040cc08
add esp, 4
cmp dword [0x423808], 0xffffffff
jne 0x408af3
mov eax, dword [ebp - 0x18]
mov dword [0x423944], eax
mov ax, word [ebp - 0x14]
push 0x419920
mov word [0x423948], ax
call fcn.0040cf1a
push 0x423808
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423949]
test al, al
je 0x408b26
xor byte [0x423944], 0xf6
xor byte [0x423945], 0xf6
xor byte [0x423946], 0xf6
xor byte [0x423947], 0xf6
xor byte [0x423948], 0xf6
xor al, 0xf6
mov byte [0x423949], al
sub esp, 0x18
mov ecx, 0x423944
mov edx, esp
mov dword [ebp - 0x14], esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408b50
sub ecx, esi
push ecx
push 0x423944
mov ecx, edx
call fcn.0040bfe0
mov byte [ebp - 4], 0x11
mov eax, dword [0x423878]
mov dword [ebp - 0x34], 0x9f91999a
mov dword [ebp - 0x30], 0x82839498
mov dword [ebp - 0x2c], 0xf6989982
cmp eax, dword [edi + 4]
jle 0x408bce
push 0x423878
call fcn.0040cc08
add esp, 4
cmp dword [0x423878], 0xffffffff
jne 0x408bce
movq xmm0, qword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
push 0x419930
movq qword [0x423880], xmm0
mov dword [0x423888], eax
call fcn.0040cf1a
push 0x423878
call fcn.0040cbbe
add esp, 8
cmp byte [0x42388b], 0
je 0x408bed
xor eax, eax
nop dword [eax]
xor byte [eax + 0x423880], 0xf6
inc eax
cmp eax, 0xc
jb 0x408be0
sub esp, 0x18
mov edx, 0x423880
mov ecx, esp
lea esi, [edx + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x408c10
sub edx, esi
push edx
push 0x423880
call fcn.0040bfe0
mov edx, dword [ebp - 0x68]
mov ecx, 0x6a
mov byte [ebp - 4], 0x10
call fcn.00403aa0
mov dword [ebp - 4], 0xffffffff
add esp, 0x44
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x408c73
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408c69
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b381
push edx
push ecx
call fcn.0040caba
add esp, 8
mov eax, dword [0x4236f0]
mov dword [ebp - 0x1c], 0x829f9293
mov dword [ebp - 0x18], 0x85859786
mov byte [ebp - 0x61], 0xf6
cmp eax, dword [edi + 4]
jle 0x408cd4
push 0x4236f0
call fcn.0040cc08
add esp, 4
cmp dword [0x4236f0], 0xffffffff
jne 0x408cd4
movq xmm0, qword [ebp - 0x1c]
mov al, byte [ebp - 0x61]
push 0x4198f0
movq qword [0x4237b0], xmm0
mov byte [0x4237b8], al
call fcn.0040cf1a
push 0x4236f0
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4237b8]
test al, al
je 0x408d1c
xor byte [0x4237b0], 0xf6
xor byte [0x4237b1], 0xf6
xor byte [0x4237b2], 0xf6
xor byte [0x4237b3], 0xf6
xor byte [0x4237b4], 0xf6
xor byte [0x4237b5], 0xf6
xor byte [0x4237b6], 0xf6
xor byte [0x4237b7], 0xf6
xor al, 0xf6
mov byte [0x4237b8], al
mov ecx, 0x4237b0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408d40
sub ecx, edx
push ecx
push 0x4237b0
lea ecx, [ebp - 0x58]
call fcn.0040bfe0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x12
push eax
mov ecx, 0x423610
call fcn.0040b900
push 0
push 0x25cf
push 0xcc
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x408dbb
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408db1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b386
push edx
push ecx
call fcn.0040caba
add esp, 8
mov eax, dword [0x423990]
mov dword [ebp - 0x1c], 0x9f91999a
mov dword [ebp - 0x18], 0x82839498
mov dword [ebp - 0x14], 0xf6989982
cmp eax, dword [edi + 4]
jle 0x408e1f
push 0x423990
call fcn.0040cc08
add esp, 4
cmp dword [0x423990], 0xffffffff
jne 0x408e1f
movq xmm0, qword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
push 0x4198d0
movq qword [0x423ad8], xmm0
mov dword [0x423ae0], eax
call fcn.0040cf1a
push 0x423990
call fcn.0040cbbe
add esp, 8
cmp byte [0x423ae3], 0
je 0x408e3d
xor eax, eax
nop word [eax + eax]
xor byte [eax + 0x423ad8], 0xf6
inc eax
cmp eax, 0xc
jb 0x408e30
mov ecx, 0x423ad8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408e60
sub ecx, edx
push ecx
push 0x423ad8
lea ecx, [ebp - 0x58]
call fcn.0040bfe0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x13
push eax
mov ecx, 0x423644
call fcn.0040b900
push 0
push dword [eax]
call dword [sym.imp.USER32.dll_ShowWindow]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x408ed1
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408ec7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b38b
push edx
push ecx
call fcn.0040caba
add esp, 8
mov eax, dword [0x4238f8]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c4
cmp eax, dword [edi + 4]
jle 0x408f2a
push 0x4238f8
call fcn.0040cc08
add esp, 4
cmp dword [0x4238f8], 0xffffffff
jne 0x408f2a
mov eax, dword [ebp - 0x18]
mov dword [0x423774], eax
mov ax, word [ebp - 0x14]
push 0x419880
mov word [0x423778], ax
call fcn.0040cf1a
push 0x4238f8
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423779]
test al, al
je 0x408f5d
xor byte [0x423774], 0xf6
xor byte [0x423775], 0xf6
xor byte [0x423776], 0xf6
xor byte [0x423777], 0xf6
xor byte [0x423778], 0xf6
xor al, 0xf6
mov byte [0x423779], al
mov ecx, 0x423774
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x408f80
sub ecx, edx
push ecx
push 0x423774
lea ecx, [ebp - 0x58]
call fcn.0040bfe0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x14
push eax
mov ecx, 0x423624
call fcn.0040b900
push 0x14
push 0xc8
push 0xd
push 0xb
push eax
mov eax, dword [0x423904]
mov dword [ebp - 0x18], 0xcca5a6b5
mov byte [ebp - 0x61], 0xf6
cmp eax, dword [edi + 4]
jle 0x40900d
push 0x423904
call fcn.0040cc08
add esp, 4
cmp dword [0x423904], 0xffffffff
jne 0x40900d
mov eax, dword [ebp - 0x18]
mov dword [0x423a90], eax
mov al, byte [ebp - 0x61]
push 0x419890
mov byte [0x423a94], al
call fcn.0040cf1a
push 0x423904
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423a94]
test al, al
je 0x409039
xor byte [0x423a90], 0xf6
xor byte [0x423a91], 0xf6
xor byte [0x423a92], 0xf6
xor byte [0x423a93], 0xf6
xor al, 0xf6
mov byte [0x423a94], al
sub esp, 0x18
mov ecx, 0x423a90
mov edx, esp
mov dword [ebp - 0x14], esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409060
sub ecx, esi
push ecx
push 0x423a90
mov ecx, edx
call fcn.0040bfe0
mov byte [ebp - 4], 0x15
mov eax, dword [0x423860]
mov dword [ebp - 0x34], 0x9394979a
mov dword [ebp - 0x30], 0x8586959a
mov byte [ebp - 0x61], 0xf6
cmp eax, dword [edi + 4]
jle 0x4090db
push 0x423860
call fcn.0040cc08
add esp, 4
cmp dword [0x423860], 0xffffffff
jne 0x4090db
movq xmm0, qword [ebp - 0x34]
mov al, byte [ebp - 0x61]
push 0x4198b0
movq qword [0x4236dc], xmm0
mov byte [0x4236e4], al
call fcn.0040cf1a
push 0x423860
call fcn.0040cbbe
add esp, 8
mov al, byte [0x4236e4]
test al, al
je 0x409123
xor byte [0x4236dc], 0xf6
xor byte [0x4236dd], 0xf6
xor byte [0x4236de], 0xf6
xor byte [0x4236df], 0xf6
xor byte [0x4236e0], 0xf6
xor byte [0x4236e1], 0xf6
xor byte [0x4236e2], 0xf6
xor byte [0x4236e3], 0xf6
xor al, 0xf6
mov byte [0x4236e4], al
sub esp, 0x18
mov edx, 0x4236dc
mov ecx, esp
lea esi, [edx + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov al, byte [edx]
inc edx
test al, al
jne 0x409144
sub edx, esi
push edx
push 0x4236dc
call fcn.0040bfe0
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov byte [ebp - 4], 0x14
call fcn.00403950
mov dword [ebp - 4], 0xffffffff
add esp, 0x44
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x4091a4
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40919a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b390
push edx
push ecx
call fcn.0040caba
add esp, 8
mov eax, dword [0x423968]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c4
cmp eax, dword [edi + 4]
jle 0x4091fd
push 0x423968
call fcn.0040cc08
add esp, 4
cmp dword [0x423968], 0xffffffff
jne 0x4091fd
mov eax, dword [ebp - 0x18]
mov dword [0x423928], eax
mov ax, word [ebp - 0x14]
push 0x419840
mov word [0x42392c], ax
call fcn.0040cf1a
push 0x423968
call fcn.0040cbbe
add esp, 8
mov al, byte [0x42392d]
test al, al
je 0x409230
xor byte [0x423928], 0xf6
xor byte [0x423929], 0xf6
xor byte [0x42392a], 0xf6
xor byte [0x42392b], 0xf6
xor byte [0x42392c], 0xf6
xor al, 0xf6
mov byte [0x42392d], al
mov ecx, 0x423928
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409251
sub ecx, edx
push ecx
push 0x423928
lea ecx, [ebp - 0x58]
call fcn.0040bfe0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x16
push eax
mov ecx, 0x423624
call fcn.0040b900
push 0x14
push 0xc8
push 0x2c
push 0xb
push eax
mov eax, dword [0x423a68]
mov dword [ebp - 0x6c], 0xf69090b9
cmp eax, dword [edi + 4]
jle 0x4092d2
push 0x423a68
call fcn.0040cc08
add esp, 4
cmp dword [0x423a68], 0xffffffff
jne 0x4092d2
mov eax, dword [ebp - 0x6c]
push 0x419850
mov dword [0x42371c], eax
call fcn.0040cf1a
push 0x423a68
call fcn.0040cbbe
add esp, 8
mov al, byte [0x42371f]
test al, al
je 0x4092f7
xor byte [0x42371c], 0xf6
xor byte [0x42371d], 0xf6
xor byte [0x42371e], 0xf6
xor al, 0xf6
mov byte [0x42371f], al
sub esp, 0x18
mov ecx, 0x42371c
mov edx, esp
mov dword [ebp - 0x14], esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409320
sub ecx, esi
push ecx
push 0x42371c
mov ecx, edx
call fcn.0040bfe0
mov byte [ebp - 4], 0x17
mov eax, dword [0x423810]
mov dword [ebp - 0x34], 0x9394979a
mov dword [ebp - 0x30], 0x9998999a
mov word [ebp - 0x2c], 0x9090
mov byte [ebp - 0x61], 0xf6
cmp eax, dword [edi + 4]
jle 0x4093ab
push 0x423810
call fcn.0040cc08
add esp, 4
cmp dword [0x423810], 0xffffffff
jne 0x4093ab
mov ax, word [ebp - 0x2c]
movq xmm0, qword [ebp - 0x34]
mov word [0x423a48], ax
mov al, byte [ebp - 0x61]
push 0x419860
movq qword [0x423a40], xmm0
mov byte [0x423a4a], al
call fcn.0040cf1a
push 0x423810
call fcn.0040cbbe
add esp, 8
cmp byte [0x423a4a], 0
je 0x4093cd
xor eax, eax
nop word [eax + eax]
xor byte [eax + 0x423a40], 0xf6
inc eax
cmp eax, 0xb
jb 0x4093c0
sub esp, 0x18
mov edx, 0x423a40
mov ecx, esp
lea esi, [edx + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x4093f0
sub edx, esi
push edx
push 0x423a40
call fcn.0040bfe0
mov edx, dword [ebp - 0x68]
mov ecx, 0x6c
mov byte [ebp - 4], 0x16
call fcn.00403950
mov dword [ebp - 4], 0xffffffff
add esp, 0x44
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x409453
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409449
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b395
push edx
push ecx
call fcn.0040caba
add esp, 8
mov eax, dword [0x423900]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c4
cmp eax, dword [edi + 4]
jle 0x4094ac
push 0x423900
call fcn.0040cc08
add esp, 4
cmp dword [0x423900], 0xffffffff
jne 0x4094ac
mov eax, dword [ebp - 0x18]
mov dword [0x42381c], eax
mov ax, word [ebp - 0x14]
push 0x419810
mov word [0x423820], ax
call fcn.0040cf1a
push 0x423900
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423821]
test al, al
je 0x4094df
xor byte [0x42381c], 0xf6
xor byte [0x42381d], 0xf6
xor byte [0x42381e], 0xf6
xor byte [0x42381f], 0xf6
xor byte [0x423820], 0xf6
xor al, 0xf6
mov byte [0x423821], al
mov ecx, 0x42381c
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0xf
mov byte [ebp - 0x58], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409500
sub ecx, edx
push ecx
push 0x42381c
lea ecx, [ebp - 0x58]
call fcn.0040bfe0
lea eax, [ebp - 0x58]
mov dword [ebp - 4], 0x18
push eax
mov ecx, 0x423624
call fcn.0040b900
push 0x14
push 0x3b
push 0xa
push 0x26
push dword [eax]
mov eax, dword [0x4237f0]
mov word [ebp - 0x6c], 0xc4c7
mov byte [ebp - 0x61], 0xf6
cmp eax, dword [edi + 4]
jle 0x40958c
push 0x4237f0
call fcn.0040cc08
add esp, 4
cmp dword [0x4237f0], 0xffffffff
jne 0x40958c
mov ax, word [ebp - 0x6c]
mov word [0x423b2c], ax
mov al, byte [ebp - 0x61]
push 0x419820
mov byte [0x423b2e], al
call fcn.0040cf1a
push 0x4237f0
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423b2e]
test al, al
je 0x4095aa
xor byte [0x423b2c], 0xf6
xor byte [0x423b2d], 0xf6
xor al, 0xf6
mov byte [0x423b2e], al
sub esp, 0x18
mov ecx, 0x423b2c
mov edx, esp
mov dword [ebp - 0x14], esp
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4095d0
sub ecx, esi
push ecx
push 0x423b2c
mov ecx, edx
call fcn.0040bfe0
mov byte [ebp - 4], 0x19
mov eax, dword [0x4237a8]
mov dword [ebp - 0x30], 0x829f9293
mov dword [ebp - 0x2c], 0xf6858695
cmp eax, dword [edi + 4]
jle 0x409643
push 0x4237a8
call fcn.0040cc08
add esp, 4
cmp dword [0x4237a8], 0xffffffff
jne 0x409643
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
push 0x419830
mov dword [0x423a80], eax
mov dword [0x423a84], ecx
call fcn.0040cf1a
push 0x4237a8
call fcn.0040cbbe
add esp, 8
mov al, byte [0x423a87]
test al, al
je 0x409684
xor byte [0x423a80], 0xf6
xor byte [0x423a81], 0xf6
xor byte [0x423a82], 0xf6
xor byte [0x423a83], 0xf6
xor byte [0x423a84], 0xf6
xor byte [0x423a85], 0xf6
xor byte [0x423a86], 0xf6
xor al, 0xf6
mov byte [0x423a87], al
sub esp, 0x18
mov edx, 0x423a80
mov ecx, esp
lea esi, [edx + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov al, byte [edx]
inc edx
test al, al
jne 0x4096a5
sub edx, esi
push edx
push 0x423a80
call fcn.0040bfe0
mov edx, dword [ebp - 0x68]
mov ecx, 0x6d
mov byte [ebp - 4], 0x18
call fcn.00403be0
mov dword [ebp - 4], 0xffffffff
add esp, 0x44
mov edx, dword [ebp - 0x44]
cmp edx, 0x10
jb 0x409708
mov ecx, dword [ebp - 0x58]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4096fe
mov eax, dword [0x423920]
mov dword [ebp - 0x18], 0x9298819e
mov word [ebp - 0x14], 0xf6c4
cmp eax, dword [edi + 4]
jle 0x409761
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
call fcn.0041049a
int3