Function at 0x4099f0
Capabilities:
Create thread
Encode data using xor
Get graphical window text
Hide graphical window
Log keystrokes via application hook
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x21a8
call fcn.0041e7c0
mov eax, dword [0x42a00c]
xor eax, esp
mov dword [esp + 0x21a4], eax
mov eax, dword [ebp + 8]
push esi
push edi
push 0x65
xor edi, edi
mov dword [esp + 0x1c], eax
push eax
mov dword [esp + 0x28], edi
call dword [sym.imp.USER32.dll_LoadIconW]
push 0x10
push 0x20
push 0x20
push 1
push str.ResourceAnyDesk.ico
push edi
mov dword [esp + 0x34], eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [esp + 0x10], eax
mov eax, dword fs:[0x2c]
mov dword [esp + 0xa8], 0x989f979b
mov dword [esp + 0xac], 0x92989fa1
mov word [esp + 0xb0], 0x8199
mov esi, dword [eax]
mov eax, dword [0x42bbfc]
mov byte [esp + 0xf], 0xf6
mov dword [esp + 0x24], esi
cmp eax, dword [esi + 4]
jle 0x409ad8
push 0x42bbfc
call fcn.004118ad
add esp, 4
cmp dword [0x42bbfc], 0xffffffff
jne 0x409ad8
mov ax, word [esp + 0xb0]
movq xmm0, qword [esp + 0xa8]
mov word [0x42c0fc], ax
mov al, byte [esp + 0xf]
push 0x420240
movq qword [0x42c0f4], xmm0
mov byte [0x42c0fe], al
call fcn.00411bbf
add esp, 4
push 0x42bbfc
call fcn.00411863
add esp, 4
cmp byte [0x42c0fe], 0
je 0x409af0
xor eax, eax
xor byte [eax + 0x42c0f4], 0xf6
inc eax
cmp eax, 0xb
jb 0x409ae3
sub esp, 0x18
mov ecx, 0x42c0f4
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x2c], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409b10
sub ecx, dword [esp + 0x2c]
push ecx
push 0x42c0f4
mov ecx, edx
call fcn.00410390
push dword [esp + 0x28]
mov edx, dword [esp + 0x34]
mov ecx, 0x403e70
call fcn.00401680
mov eax, dword [0x42bc10]
add esp, 0x1c
mov dword [esp + 0xd4], 0xb28f98b7
mov dword [esp + 0xd8], 0xf69d8593
cmp eax, dword [esi + 4]
jle 0x409ba9
push 0x42bc10
call fcn.004118ad
add esp, 4
cmp dword [0x42bc10], 0xffffffff
jne 0x409ba9
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
push 0x420200
mov dword [0x42bd9c], eax
mov dword [0x42bda0], ecx
call fcn.00411bbf
add esp, 4
push 0x42bc10
call fcn.00411863
add esp, 4
mov al, byte [0x42bda3]
test al, al
je 0x409bea
xor byte [0x42bd9c], 0xf6
xor byte [0x42bd9d], 0xf6
xor byte [0x42bd9e], 0xf6
xor byte [0x42bd9f], 0xf6
xor byte [0x42bda0], 0xf6
xor byte [0x42bda1], 0xf6
xor byte [0x42bda2], 0xf6
xor al, 0xf6
mov byte [0x42bda3], al
sub esp, 0x18
mov ecx, 0x42bd9c
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x28], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409c07
sub ecx, dword [esp + 0x28]
push ecx
push 0x42bd9c
mov ecx, edx
call fcn.00410390
mov eax, dword [0x42ba14]
mov dword [esp + 0xc0], 0x989f979b
mov dword [esp + 0xc4], 0x92989fa1
mov word [esp + 0xc8], 0x8199
mov byte [esp + 0x27], 0xf6
cmp eax, dword [esi + 4]
jle 0x409ca9
push 0x42ba14
call fcn.004118ad
add esp, 4
cmp dword [0x42ba14], 0xffffffff
jne 0x409ca9
mov ax, word [esp + 0xc8]
movq xmm0, qword [esp + 0xc0]
mov word [0x42bbf0], ax
mov al, byte [esp + 0x27]
push 0x420210
movq qword [0x42bbe8], xmm0
mov byte [0x42bbf2], al
call fcn.00411bbf
add esp, 4
push 0x42ba14
call fcn.00411863
add esp, 4
cmp byte [0x42bbf2], 0
je 0x409cc1
xor eax, eax
xor byte [eax + 0x42bbe8], 0xf6
inc eax
cmp eax, 0xb
jb 0x409cb4
sub esp, 0x18
mov ecx, 0x42bbe8
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x40], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409ce0
sub ecx, dword [esp + 0x40]
push ecx
push 0x42bbe8
mov ecx, edx
call fcn.00410390
mov eax, dword [0x42bee8]
mov dword [esp + 0xd0], 0x9298819e
mov word [esp + 0xd4], 0xf6c7
cmp eax, dword [esi + 4]
jle 0x409d64
push 0x42bee8
call fcn.004118ad
add esp, 4
cmp dword [0x42bee8], 0xffffffff
jne 0x409d64
mov eax, dword [esp + 0xd0]
mov dword [0x42c0b0], eax
mov ax, word [esp + 0xd4]
push 0x420230
mov word [0x42c0b4], ax
call fcn.00411bbf
add esp, 4
push 0x42bee8
call fcn.00411863
add esp, 4
mov al, byte [0x42c0b5]
test al, al
je 0x409d97
xor byte [0x42c0b0], 0xf6
xor byte [0x42c0b1], 0xf6
xor byte [0x42c0b2], 0xf6
xor byte [0x42c0b3], 0xf6
xor byte [0x42c0b4], 0xf6
xor al, 0xf6
mov byte [0x42c0b5], al
sub esp, 0x18
mov ecx, 0x42c0b0
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x58], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409db4
sub ecx, dword [esp + 0x58]
push ecx
push 0x42c0b0
mov ecx, edx
call fcn.00410390
mov ecx, dword [esp + 0x60]
mov edx, 0xaa
push 0x8c
call fcn.004017f0
add esp, 0x4c
push 0xb4d6ff
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, dword [0x42c044]
mov dword [esp + 0x10], eax
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c7
cmp ecx, dword [esi + 4]
jle 0x409e5e
push 0x42c044
call fcn.004118ad
add esp, 4
cmp dword [0x42c044], 0xffffffff
jne 0x409e5e
mov eax, dword [esp + 0xa0]
mov dword [0x42bd60], eax
mov ax, word [esp + 0xa4]
push 0x4201f0
mov word [0x42bd64], ax
call fcn.00411bbf
add esp, 4
push 0x42c044
call fcn.00411863
add esp, 4
mov al, byte [0x42bd65]
test al, al
je 0x409e91
xor byte [0x42bd60], 0xf6
xor byte [0x42bd61], 0xf6
xor byte [0x42bd62], 0xf6
xor byte [0x42bd63], 0xf6
xor byte [0x42bd64], 0xf6
xor al, 0xf6
mov byte [0x42bd65], al
mov ecx, 0x42bd60
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409eb2
sub ecx, edx
push ecx
push 0x42bd60
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b91c
push eax
call fcn.0040f940
push dword [esp + 0x10]
push 0xfffffffffffffff6
push dword [eax]
call dword [sym.imp.USER32.dll_SetClassLongW]
mov edx, dword [esp + 0xcc]
cmp edx, 0x10
jb 0x409f29
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409f1f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e8d8
push edx
push ecx
call fcn.0041175f
add esp, 8
mov eax, dword [0x42ba08]
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c7
cmp eax, dword [esi + 4]
jle 0x409f95
push 0x42ba08
call fcn.004118ad
add esp, 4
cmp dword [0x42ba08], 0xffffffff
jne 0x409f95
mov eax, dword [esp + 0xa0]
mov dword [0x42bc58], eax
mov ax, word [esp + 0xa4]
push 0x4201e0
mov word [0x42bc5c], ax
call fcn.00411bbf
add esp, 4
push 0x42ba08
call fcn.00411863
add esp, 4
mov al, byte [0x42bc5d]
test al, al
je 0x409fc8
xor byte [0x42bc58], 0xf6
xor byte [0x42bc59], 0xf6
xor byte [0x42bc5a], 0xf6
xor byte [0x42bc5b], 0xf6
xor byte [0x42bc5c], 0xf6
xor al, 0xf6
mov byte [0x42bc5d], al
mov ecx, 0x42bc58
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409ff0
sub ecx, edx
push ecx
push 0x42bc58
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b91c
push eax
call fcn.0040f940
push dword [esp + 0x1c]
push 0xfffffffffffffff2
push dword [eax]
call dword [sym.imp.USER32.dll_SetClassLongW]
mov edx, dword [esp + 0xcc]
cmp edx, 0x10
jb 0x40a067
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a05d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e8dd
push edx
push ecx
call fcn.0041175f
add esp, 8
push 0x10
push 0x20
push 0x20
push 1
push str.ResourceAnyDesk.ico
push 0
call dword [sym.imp.USER32.dll_LoadImageW]
mov dword [esp + 0x14], eax
mov eax, dword [0x42bcf4]
mov dword [esp + 0xa8], 0x99959385
mov dword [esp + 0xac], 0x9fa19298
mov dword [esp + 0xb0], 0x81999298
mov byte [esp + 0xf], 0xf6
cmp eax, dword [esi + 4]
jle 0x40a109
push 0x42bcf4
call fcn.004118ad
add esp, 4
cmp dword [0x42bcf4], 0xffffffff
jne 0x40a109
mov eax, dword [esp + 0xb0]
movq xmm0, qword [esp + 0xa8]
mov dword [0x42bef4], eax
mov al, byte [esp + 0xf]
push 0x4201c0
movq qword [0x42beec], xmm0
mov byte [0x42bef8], al
call fcn.00411bbf
add esp, 4
push 0x42bcf4
call fcn.00411863
add esp, 4
cmp byte [0x42bef8], 0
je 0x40a121
xor eax, eax
xor byte [eax + 0x42beec], 0xf6
inc eax
cmp eax, 0xd
jb 0x40a114
sub esp, 0x18
mov ecx, 0x42beec
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x28], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a140
sub ecx, dword [esp + 0x28]
push ecx
push 0x42beec
mov ecx, edx
call fcn.00410390
push dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov ecx, 0x407540
call fcn.00401680
mov eax, dword [0x42bd8c]
add esp, 0x1c
mov dword [esp + 0xd4], 0xb28f98b7
mov dword [esp + 0xd8], 0xf69d8593
cmp eax, dword [esi + 4]
jle 0x40a1d9
push 0x42bd8c
call fcn.004118ad
add esp, 4
cmp dword [0x42bd8c], 0xffffffff
jne 0x40a1d9
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
push 0x420180
mov dword [0x42bd1c], eax
mov dword [0x42bd20], ecx
call fcn.00411bbf
add esp, 4
push 0x42bd8c
call fcn.00411863
add esp, 4
mov al, byte [0x42bd23]
test al, al
je 0x40a21a
xor byte [0x42bd1c], 0xf6
xor byte [0x42bd1d], 0xf6
xor byte [0x42bd1e], 0xf6
xor byte [0x42bd1f], 0xf6
xor byte [0x42bd20], 0xf6
xor byte [0x42bd21], 0xf6
xor byte [0x42bd22], 0xf6
xor al, 0xf6
mov byte [0x42bd23], al
sub esp, 0x18
mov ecx, 0x42bd1c
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x28], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a237
sub ecx, dword [esp + 0x28]
push ecx
push 0x42bd1c
mov ecx, edx
call fcn.00410390
mov eax, dword [0x42c108]
mov dword [esp + 0xc0], 0x99959385
mov dword [esp + 0xc4], 0x9fa19298
mov dword [esp + 0xc8], 0x81999298
mov byte [esp + 0x27], 0xf6
cmp eax, dword [esi + 4]
jle 0x40a2d8
push 0x42c108
call fcn.004118ad
add esp, 4
cmp dword [0x42c108], 0xffffffff
jne 0x40a2d8
mov eax, dword [esp + 0xc8]
movq xmm0, qword [esp + 0xc0]
mov dword [0x42c178], eax
mov al, byte [esp + 0x27]
push 0x420190
movq qword [0x42c170], xmm0
mov byte [0x42c17c], al
call fcn.00411bbf
add esp, 4
push 0x42c108
call fcn.00411863
add esp, 4
cmp byte [0x42c17c], 0
je 0x40a2f0
xor eax, eax
xor byte [eax + 0x42c170], 0xf6
inc eax
cmp eax, 0xd
jb 0x40a2e3
sub esp, 0x18
mov ecx, 0x42c170
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x40], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a310
sub ecx, dword [esp + 0x40]
push ecx
push 0x42c170
mov ecx, edx
call fcn.00410390
mov eax, dword [0x42b988]
mov dword [esp + 0xd0], 0x9298819e
mov word [esp + 0xd4], 0xf6c4
cmp eax, dword [esi + 4]
jle 0x40a394
push 0x42b988
call fcn.004118ad
add esp, 4
cmp dword [0x42b988], 0xffffffff
jne 0x40a394
mov eax, dword [esp + 0xd0]
mov dword [0x42bd00], eax
mov ax, word [esp + 0xd4]
push 0x4201b0
mov word [0x42bd04], ax
call fcn.00411bbf
add esp, 4
push 0x42b988
call fcn.00411863
add esp, 4
mov al, byte [0x42bd05]
test al, al
je 0x40a3c7
xor byte [0x42bd00], 0xf6
xor byte [0x42bd01], 0xf6
xor byte [0x42bd02], 0xf6
xor byte [0x42bd03], 0xf6
xor byte [0x42bd04], 0xf6
xor al, 0xf6
mov byte [0x42bd05], al
sub esp, 0x18
mov ecx, 0x42bd00
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x58], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a3e4
sub ecx, dword [esp + 0x58]
push ecx
push 0x42bd00
mov ecx, edx
call fcn.00410390
mov ecx, dword [esp + 0x60]
mov edx, 0xd2
push 0x6e
call fcn.004017f0
add esp, 0x4c
push 0xfcfce0
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov ecx, dword [0x42ba5c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c4
cmp ecx, dword [esi + 4]
jle 0x40a48b
push 0x42ba5c
call fcn.004118ad
add esp, 4
cmp dword [0x42ba5c], 0xffffffff
jne 0x40a48b
mov eax, dword [esp + 0xa0]
mov dword [0x42bc28], eax
mov ax, word [esp + 0xa4]
push 0x420170
mov word [0x42bc2c], ax
call fcn.00411bbf
add esp, 4
push 0x42ba5c
call fcn.00411863
add esp, 4
mov al, byte [0x42bc2d]
test al, al
je 0x40a4be
xor byte [0x42bc28], 0xf6
xor byte [0x42bc29], 0xf6
xor byte [0x42bc2a], 0xf6
xor byte [0x42bc2b], 0xf6
xor byte [0x42bc2c], 0xf6
xor al, 0xf6
mov byte [0x42bc2d], al
mov ecx, 0x42bc28
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a4e0
sub ecx, edx
push ecx
push 0x42bc28
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b91c
push eax
call fcn.0040f940
push dword [esp + 0x10]
push 0xfffffffffffffff6
push dword [eax]
call dword [sym.imp.USER32.dll_SetClassLongW]
mov edx, dword [esp + 0xcc]
cmp edx, 0x10
jb 0x40a557
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a54d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e8e2
push edx
push ecx
call fcn.0041175f
add esp, 8
mov eax, dword [0x42be70]
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c4
cmp eax, dword [esi + 4]
jle 0x40a5c3
push 0x42be70
call fcn.004118ad
add esp, 4
cmp dword [0x42be70], 0xffffffff
jne 0x40a5c3
mov eax, dword [esp + 0xa0]
mov dword [0x42bc30], eax
mov ax, word [esp + 0xa4]
push 0x420160
mov word [0x42bc34], ax
call fcn.00411bbf
add esp, 4
push 0x42be70
call fcn.00411863
add esp, 4
mov al, byte [0x42bc35]
test al, al
je 0x40a5f6
xor byte [0x42bc30], 0xf6
xor byte [0x42bc31], 0xf6
xor byte [0x42bc32], 0xf6
xor byte [0x42bc33], 0xf6
xor byte [0x42bc34], 0xf6
xor al, 0xf6
mov byte [0x42bc35], al
mov ecx, 0x42bc30
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a617
sub ecx, edx
push ecx
push 0x42bc30
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b91c
push eax
call fcn.0040f940
push dword [esp + 0x1c]
push 0xfffffffffffffff2
push dword [eax]
call dword [sym.imp.USER32.dll_SetClassLongW]
mov edx, dword [esp + 0xcc]
cmp edx, 0x10
jb 0x40a68e
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a684
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e8e7
push edx
push ecx
call fcn.0041175f
add esp, 8
mov eax, dword [0x42bd24]
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c7
cmp eax, dword [esi + 4]
jle 0x40a6fa
push 0x42bd24
call fcn.004118ad
add esp, 4
cmp dword [0x42bd24], 0xffffffff
jne 0x40a6fa
mov eax, dword [esp + 0xa0]
mov dword [0x42bf14], eax
mov ax, word [esp + 0xa4]
push 0x420110
mov word [0x42bf18], ax
call fcn.00411bbf
add esp, 4
push 0x42bd24
call fcn.00411863
add esp, 4
mov al, byte [0x42bf19]
test al, al
je 0x40a72d
xor byte [0x42bf14], 0xf6
xor byte [0x42bf15], 0xf6
xor byte [0x42bf16], 0xf6
xor byte [0x42bf17], 0xf6
xor byte [0x42bf18], 0xf6
xor al, 0xf6
mov byte [0x42bf19], al
mov ecx, 0x42bf14
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a750
sub ecx, edx
push ecx
push 0x42bf14
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b91c
push eax
call fcn.0040f940
mov dword [esp + 0x14], eax
mov eax, dword [0x42bf54]
mov dword [esp + 0xa8], 0x849385a3
mov dword [esp + 0xac], 0x939b9798
mov word [esp + 0xb0], 0xf6cc
cmp eax, dword [esi + 4]
jle 0x40a7fd
push 0x42bf54
call fcn.004118ad
add esp, 4
cmp dword [0x42bf54], 0xffffffff
jne 0x40a7fd
movq xmm0, qword [esp + 0xa8]
mov ax, word [esp + 0xb0]
push 0x420120
movq qword [0x42ba30], xmm0
mov word [0x42ba38], ax
call fcn.00411bbf
add esp, 4
push 0x42bf54
call fcn.00411863
add esp, 4
mov al, byte [0x42ba39]
test al, al
je 0x40a84c
xor byte [0x42ba30], 0xf6
xor byte [0x42ba31], 0xf6
xor byte [0x42ba32], 0xf6
xor byte [0x42ba33], 0xf6
xor byte [0x42ba34], 0xf6
xor byte [0x42ba35], 0xf6
xor byte [0x42ba36], 0xf6
xor byte [0x42ba37], 0xf6
xor byte [0x42ba38], 0xf6
xor al, 0xf6
mov byte [0x42ba39], al
sub esp, 0x18
mov ecx, 0x42ba30
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x28], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a870
sub ecx, dword [esp + 0x28]
push ecx
push 0x42ba30
mov ecx, edx
call fcn.00410390
mov eax, dword [0x42be88]
mov dword [esp + 0xc0], 0x9394979a
mov dword [esp + 0xc4], 0x9385839a
mov word [esp + 0xc8], 0xf684
cmp eax, dword [esi + 4]
jle 0x40a904
push 0x42be88
call fcn.004118ad
add esp, 4
cmp dword [0x42be88], 0xffffffff
jne 0x40a904
movq xmm0, qword [esp + 0xc0]
mov ax, word [esp + 0xc8]
push 0x420140
movq qword [0x42c0d8], xmm0
mov word [0x42c0e0], ax
call fcn.00411bbf
add esp, 4
push 0x42be88
call fcn.00411863
add esp, 4
mov al, byte [0x42c0e1]
test al, al
je 0x40a953
xor byte [0x42c0d8], 0xf6
xor byte [0x42c0d9], 0xf6
xor byte [0x42c0da], 0xf6
xor byte [0x42c0db], 0xf6
xor byte [0x42c0dc], 0xf6
xor byte [0x42c0dd], 0xf6
xor byte [0x42c0de], 0xf6
xor byte [0x42c0df], 0xf6
xor byte [0x42c0e0], 0xf6
xor al, 0xf6
mov byte [0x42c0e1], al
sub esp, 0x18
mov ecx, 0x42c0d8
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x40], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40a970
sub ecx, dword [esp + 0x40]
push ecx
push 0x42c0d8
mov ecx, edx
call fcn.00410390
mov edx, dword [esp + 0x48]
sub esp, 8
xor ecx, ecx
push 0xc
push 0x11
push dword [esp + 0x54]
call fcn.004019d0
mov edx, dword [esp + 0x110]
add esp, 0x44
cmp edx, 0x10
jb 0x40a9dd
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a9d3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e8ec
push edx
push ecx
call fcn.0041175f
add esp, 8
mov eax, dword [0x42c160]
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c7
cmp eax, dword [esi + 4]
jle 0x40aa49
push 0x42c160
call fcn.004118ad
add esp, 4
cmp dword [0x42c160], 0xffffffff
jne 0x40aa49
mov eax, dword [esp + 0xa0]
mov dword [0x42bad4], eax
mov ax, word [esp + 0xa4]
push 0x4200c0
mov word [0x42bad8], ax
call fcn.00411bbf
add esp, 4
push 0x42c160
call fcn.00411863
add esp, 4
mov al, byte [0x42bad9]
test al, al
je 0x40aa7c
xor byte [0x42bad4], 0xf6
xor byte [0x42bad5], 0xf6
xor byte [0x42bad6], 0xf6
xor byte [0x42bad7], 0xf6
xor byte [0x42bad8], 0xf6
xor al, 0xf6
mov byte [0x42bad9], al
mov ecx, 0x42bad4
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40aaa0
sub ecx, edx
push ecx
push 0x42bad4
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b91c
push eax
call fcn.0040f940
mov dword [esp + 0x14], eax
mov eax, dword [0x42beb0]
mov dword [esp + 0xa8], 0x858597a6
mov dword [esp + 0xac], 0x92849981
mov word [esp + 0xb0], 0xf6cc
cmp eax, dword [esi + 4]
jle 0x40ab4d
push 0x42beb0
call fcn.004118ad
add esp, 4
cmp dword [0x42beb0], 0xffffffff
jne 0x40ab4d
movq xmm0, qword [esp + 0xa8]
mov ax, word [esp + 0xb0]
push 0x4200d0
movq qword [0x42bc4c], xmm0
mov word [0x42bc54], ax
call fcn.00411bbf
add esp, 4
push 0x42beb0
call fcn.00411863
add esp, 4
mov al, byte [0x42bc55]
test al, al
je 0x40ab9c
xor byte [0x42bc4c], 0xf6
xor byte [0x42bc4d], 0xf6
xor byte [0x42bc4e], 0xf6
xor byte [0x42bc4f], 0xf6
xor byte [0x42bc50], 0xf6
xor byte [0x42bc51], 0xf6
xor byte [0x42bc52], 0xf6
xor byte [0x42bc53], 0xf6
xor byte [0x42bc54], 0xf6
xor al, 0xf6
mov byte [0x42bc55], al
sub esp, 0x18
mov ecx, 0x42bc4c
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x28], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40abc0
sub ecx, dword [esp + 0x28]
push ecx
push 0x42bc4c
mov ecx, edx
call fcn.00410390
mov eax, dword [0x42bc60]
mov dword [esp + 0xc0], 0x9394979a
mov dword [esp + 0xc4], 0x8597869a
mov word [esp + 0xc8], 0xf685
cmp eax, dword [esi + 4]
jle 0x40ac54
push 0x42bc60
call fcn.004118ad
add esp, 4
cmp dword [0x42bc60], 0xffffffff
jne 0x40ac54
movq xmm0, qword [esp + 0xc0]
mov ax, word [esp + 0xc8]
push 0x4200f0
movq qword [0x42bbb4], xmm0
mov word [0x42bbbc], ax
call fcn.00411bbf
add esp, 4
push 0x42bc60
call fcn.00411863
add esp, 4
mov al, byte [0x42bbbd]
test al, al
je 0x40aca3
xor byte [0x42bbb4], 0xf6
xor byte [0x42bbb5], 0xf6
xor byte [0x42bbb6], 0xf6
xor byte [0x42bbb7], 0xf6
xor byte [0x42bbb8], 0xf6
xor byte [0x42bbb9], 0xf6
xor byte [0x42bbba], 0xf6
xor byte [0x42bbbb], 0xf6
xor byte [0x42bbbc], 0xf6
xor al, 0xf6
mov byte [0x42bbbd], al
sub esp, 0x18
mov ecx, 0x42bbb4
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x40], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40acc0
sub ecx, dword [esp + 0x40]
push ecx
push 0x42bbb4
mov ecx, edx
call fcn.00410390
mov edx, dword [esp + 0x48]
sub esp, 8
xor ecx, ecx
push 0x2d
push 0x13
push dword [esp + 0x54]
call fcn.004019d0
mov edx, dword [esp + 0x110]
add esp, 0x44
cmp edx, 0x10
jb 0x40ad2d
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40ad23
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e8f1
push edx
push ecx
call fcn.0041175f
add esp, 8
mov eax, dword [0x42bb0c]
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c7
cmp eax, dword [esi + 4]
jle 0x40ad99
push 0x42bb0c
call fcn.004118ad
add esp, 4
cmp dword [0x42bb0c], 0xffffffff
jne 0x40ad99
mov eax, dword [esp + 0xa0]
mov dword [0x42bfbc], eax
mov ax, word [esp + 0xa4]
push 0x420080
mov word [0x42bfc0], ax
call fcn.00411bbf
add esp, 4
push 0x42bb0c
call fcn.00411863
add esp, 4
mov al, byte [0x42bfc1]
test al, al
je 0x40adcc
xor byte [0x42bfbc], 0xf6
xor byte [0x42bfbd], 0xf6
xor byte [0x42bfbe], 0xf6
xor byte [0x42bfbf], 0xf6
xor byte [0x42bfc0], 0xf6
xor al, 0xf6
mov byte [0x42bfc1], al
mov ecx, 0x42bfbc
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40adf0
sub ecx, edx
push ecx
push 0x42bfbc
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b91c
push eax
call fcn.0040f940
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [0x42b9b0]
cmp eax, dword [esi + 4]
jle 0x40ae67
push 0x42b9b0
call fcn.004118ad
add esp, 4
cmp dword [0x42b9b0], 0xffffffff
jne 0x40ae67
push 0x420090
mov byte [0x42bbf8], 0xf6
call fcn.00411bbf
add esp, 4
push 0x42b9b0
call fcn.00411863
add esp, 4
mov al, byte [0x42bbf8]
test al, al
je 0x40ae77
xor al, 0xf6
mov byte [0x42bbf8], al
sub esp, 0x18
mov ecx, 0x42bbf8
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x28], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ae94
sub ecx, dword [esp + 0x28]
push ecx
push 0x42bbf8
mov ecx, edx
call fcn.00410390
mov eax, dword [0x42bd18]
mov dword [esp + 0xf4], 0x829f9293
mov dword [esp + 0xf8], 0x84938583
mov byte [esp + 0x27], 0xf6
cmp eax, dword [esi + 4]
jle 0x40af1e
push 0x42bd18
call fcn.004118ad
add esp, 4
cmp dword [0x42bd18], 0xffffffff
jne 0x40af1e
movq xmm0, qword [esp + 0xf4]
mov al, byte [esp + 0x27]
push 0x4200a0
movq qword [0x42b9d8], xmm0
mov byte [0x42b9e0], al
call fcn.00411bbf
add esp, 4
push 0x42bd18
call fcn.00411863
add esp, 4
mov al, byte [0x42b9e0]
test al, al
je 0x40af66
xor byte [0x42b9d8], 0xf6
xor byte [0x42b9d9], 0xf6
xor byte [0x42b9da], 0xf6
xor byte [0x42b9db], 0xf6
xor byte [0x42b9dc], 0xf6
xor byte [0x42b9dd], 0xf6
xor byte [0x42b9de], 0xf6
xor byte [0x42b9df], 0xf6
xor al, 0xf6
mov byte [0x42b9e0], al
sub esp, 0x18
mov ecx, 0x42b9d8
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x40], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40af83
sub ecx, dword [esp + 0x40]
push ecx
push 0x42b9d8
mov ecx, edx
call fcn.00410390
mov edx, dword [esp + 0x48]
mov ecx, 0x68
push 0x14
push 0x41
push 9
push 0x48
push dword [esp + 0x54]
call fcn.00401c40
mov edx, dword [esp + 0x110]
add esp, 0x44
cmp edx, 0x10
jb 0x40aff4
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40afea
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e8f6
push edx
push ecx
call fcn.0041175f
add esp, 8
mov eax, dword [0x42be78]
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c7
cmp eax, dword [esi + 4]
jle 0x40b060
push 0x42be78
call fcn.004118ad
add esp, 4
cmp dword [0x42be78], 0xffffffff
jne 0x40b060
mov eax, dword [esp + 0xa0]
mov dword [0x42c100], eax
mov ax, word [esp + 0xa4]
push 0x420040
mov word [0x42c104], ax
call fcn.00411bbf
add esp, 4
push 0x42be78
call fcn.00411863
add esp, 4
mov al, byte [0x42c105]
test al, al
je 0x40b093
xor byte [0x42c100], 0xf6
xor byte [0x42c101], 0xf6
xor byte [0x42c102], 0xf6
xor byte [0x42c103], 0xf6
xor byte [0x42c104], 0xf6
xor al, 0xf6
mov byte [0x42c105], al
mov ecx, 0x42c100
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b0b4
sub ecx, edx
push ecx
push 0x42c100
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b91c
push eax
call fcn.0040f940
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [0x42bbcc]
cmp eax, dword [esi + 4]
jle 0x40b12b
push 0x42bbcc
call fcn.004118ad
add esp, 4
cmp dword [0x42bbcc], 0xffffffff
jne 0x40b12b
push 0x420050
mov byte [0x42bf1a], 0xf6
call fcn.00411bbf
add esp, 4
push 0x42bbcc
call fcn.00411863
add esp, 4
mov al, byte [0x42bf1a]
test al, al
je 0x40b13b
xor al, 0xf6
mov byte [0x42bf1a], al
sub esp, 0x18
mov ecx, 0x42bf1a
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x28], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b158
sub ecx, dword [esp + 0x28]
push ecx
push 0x42bf1a
mov ecx, edx
call fcn.00410390
mov eax, dword [0x42bcfc]
mov dword [esp + 0xf4], 0x829f9293
mov dword [esp + 0xf8], 0x85859786
mov byte [esp + 0x27], 0xf6
cmp eax, dword [esi + 4]
jle 0x40b1e2
push 0x42bcfc
call fcn.004118ad
add esp, 4
cmp dword [0x42bcfc], 0xffffffff
jne 0x40b1e2
movq xmm0, qword [esp + 0xf4]
mov al, byte [esp + 0x27]
push 0x420060
movq qword [0x42bbc0], xmm0
mov byte [0x42bbc8], al
call fcn.00411bbf
add esp, 4
push 0x42bcfc
call fcn.00411863
add esp, 4
mov al, byte [0x42bbc8]
test al, al
je 0x40b22a
xor byte [0x42bbc0], 0xf6
xor byte [0x42bbc1], 0xf6
xor byte [0x42bbc2], 0xf6
xor byte [0x42bbc3], 0xf6
xor byte [0x42bbc4], 0xf6
xor byte [0x42bbc5], 0xf6
xor byte [0x42bbc6], 0xf6
xor byte [0x42bbc7], 0xf6
xor al, 0xf6
mov byte [0x42bbc8], al
sub esp, 0x18
mov ecx, 0x42bbc0
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x40], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b247
sub ecx, dword [esp + 0x40]
push ecx
push 0x42bbc0
mov ecx, edx
call fcn.00410390
mov edx, dword [esp + 0x48]
mov ecx, 0x69
push 0x14
push 0x41
push 0x2a
push 0x48
push dword [esp + 0x54]
call fcn.00401c40
mov edx, dword [esp + 0x110]
add esp, 0x44
cmp edx, 0x10
jb 0x40b2b8
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40b2ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e8fb
push edx
push ecx
call fcn.0041175f
add esp, 8
mov eax, dword [0x42bd90]
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c7
cmp eax, dword [esi + 4]
jle 0x40b324
push 0x42bd90
call fcn.004118ad
add esp, 4
cmp dword [0x42bd90], 0xffffffff
jne 0x40b324
mov eax, dword [esp + 0xa0]
mov dword [0x42bca4], eax
mov ax, word [esp + 0xa4]
push 0x420000
mov word [0x42bca8], ax
call fcn.00411bbf
add esp, 4
push 0x42bd90
call fcn.00411863
add esp, 4
mov al, byte [0x42bca9]
test al, al
je 0x40b357
xor byte [0x42bca4], 0xf6
xor byte [0x42bca5], 0xf6
xor byte [0x42bca6], 0xf6
xor byte [0x42bca7], 0xf6
xor byte [0x42bca8], 0xf6
xor al, 0xf6
mov byte [0x42bca9], al
mov ecx, 0x42bca4
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b378
sub ecx, edx
push ecx
push 0x42bca4
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b91c
push eax
call fcn.0040f940
mov dword [esp + 0xa0], 0x9f9199ba
mov word [esp + 0xa4], 0xf698
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [0x42bdd8]
cmp eax, dword [esi + 4]
jle 0x40b417
push 0x42bdd8
call fcn.004118ad
add esp, 4
cmp dword [0x42bdd8], 0xffffffff
jne 0x40b417
mov eax, dword [esp + 0xa0]
mov dword [0x42c0a4], eax
mov ax, word [esp + 0xa4]
push 0x420010
mov word [0x42c0a8], ax
call fcn.00411bbf
add esp, 4
push 0x42bdd8
call fcn.00411863
add esp, 4
mov al, byte [0x42c0a9]
test al, al
je 0x40b44a
xor byte [0x42c0a4], 0xf6
xor byte [0x42c0a5], 0xf6
xor byte [0x42c0a6], 0xf6
xor byte [0x42c0a7], 0xf6
xor byte [0x42c0a8], 0xf6
xor al, 0xf6
mov byte [0x42c0a9], al
sub esp, 0x18
mov ecx, 0x42c0a4
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x28], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b467
sub ecx, dword [esp + 0x28]
push ecx
push 0x42c0a4
mov ecx, edx
call fcn.00410390
mov eax, dword [0x42bfc8]
mov dword [esp + 0xc0], 0x9f91999a
mov dword [esp + 0xc4], 0x82839498
mov dword [esp + 0xc8], 0xf6989982
cmp eax, dword [esi + 4]
jle 0x40b4fa
push 0x42bfc8
call fcn.004118ad
add esp, 4
cmp dword [0x42bfc8], 0xffffffff
jne 0x40b4fa
movq xmm0, qword [esp + 0xc0]
mov eax, dword [esp + 0xc8]
push 0x420020
movq qword [0x42bae8], xmm0
mov dword [0x42baf0], eax
call fcn.00411bbf
add esp, 4
push 0x42bfc8
call fcn.00411863
add esp, 4
cmp byte [0x42baf3], 0
je 0x40b512
xor eax, eax
xor byte [eax + 0x42bae8], 0xf6
inc eax
cmp eax, 0xc
jb 0x40b505
sub esp, 0x18
mov ecx, 0x42bae8
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x40], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b530
sub ecx, dword [esp + 0x40]
push ecx
push 0x42bae8
mov ecx, edx
call fcn.00410390
mov edx, dword [esp + 0x48]
push ecx
push 0x78
push 0x45
push 0x11
push dword [esp + 0x54]
mov ecx, 0x6a
call fcn.00401b10
mov edx, dword [esp + 0x110]
add esp, 0x44
cmp edx, 0x10
jb 0x40b5a0
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40b596
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e900
push edx
push ecx
call fcn.0041175f
add esp, 8
mov eax, dword [0x42ba48]
mov dword [esp + 0xdc], 0x829f9293
mov dword [esp + 0xe0], 0x85859786
mov byte [esp + 0xf], 0xf6
cmp eax, dword [esi + 4]
jle 0x40b612
push 0x42ba48
call fcn.004118ad
add esp, 4
cmp dword [0x42ba48], 0xffffffff
jne 0x40b612
movq xmm0, qword [esp + 0xdc]
mov al, byte [esp + 0xf]
push 0x41ffe0
movq qword [0x42bd4c], xmm0
mov byte [0x42bd54], al
call fcn.00411bbf
add esp, 4
push 0x42ba48
call fcn.00411863
add esp, 4
mov al, byte [0x42bd54]
test al, al
je 0x40b65a
xor byte [0x42bd4c], 0xf6
xor byte [0x42bd4d], 0xf6
xor byte [0x42bd4e], 0xf6
xor byte [0x42bd4f], 0xf6
xor byte [0x42bd50], 0xf6
xor byte [0x42bd51], 0xf6
xor byte [0x42bd52], 0xf6
xor byte [0x42bd53], 0xf6
xor al, 0xf6
mov byte [0x42bd54], al
mov ecx, 0x42bd4c
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b680
sub ecx, edx
push ecx
push 0x42bd4c
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b908
push eax
call fcn.0040f940
push 0
push 0x25cf
push 0xcc
push dword [eax]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [esp + 0xcc]
cmp edx, 0x10
jb 0x40b6fd
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40b6f3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e905
push edx
push ecx
call fcn.0041175f
add esp, 8
mov eax, dword [0x42bdf4]
mov dword [esp + 0xa8], 0x9f91999a
mov dword [esp + 0xac], 0x82839498
mov dword [esp + 0xb0], 0xf6989982
cmp eax, dword [esi + 4]
jle 0x40b778
push 0x42bdf4
call fcn.004118ad
add esp, 4
cmp dword [0x42bdf4], 0xffffffff
jne 0x40b778
movq xmm0, qword [esp + 0xa8]
mov eax, dword [esp + 0xb0]
push 0x41ffc0
movq qword [0x42bbd8], xmm0
mov dword [0x42bbe0], eax
call fcn.00411bbf
add esp, 4
push 0x42bdf4
call fcn.00411863
add esp, 4
cmp byte [0x42bbe3], 0
je 0x40b790
xor eax, eax
xor byte [eax + 0x42bbd8], 0xf6
inc eax
cmp eax, 0xc
jb 0x40b783
mov ecx, 0x42bbd8
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b7b1
sub ecx, edx
push ecx
push 0x42bbd8
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b93c
push eax
call fcn.0040f940
push 0
push dword [eax]
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esp + 0xcc]
cmp edx, 0x10
jb 0x40b824
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40b81a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e90a
push edx
push ecx
call fcn.0041175f
add esp, 8
mov eax, dword [0x42c000]
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c4
cmp eax, dword [esi + 4]
jle 0x40b890
push 0x42c000
call fcn.004118ad
add esp, 4
cmp dword [0x42c000], 0xffffffff
jne 0x40b890
mov eax, dword [esp + 0xa0]
mov dword [0x42be54], eax
mov ax, word [esp + 0xa4]
push 0x41ff70
mov word [0x42be58], ax
call fcn.00411bbf
add esp, 4
push 0x42c000
call fcn.00411863
add esp, 4
mov al, byte [0x42be59]
test al, al
je 0x40b8c3
xor byte [0x42be54], 0xf6
xor byte [0x42be55], 0xf6
xor byte [0x42be56], 0xf6
xor byte [0x42be57], 0xf6
xor byte [0x42be58], 0xf6
xor al, 0xf6
mov byte [0x42be59], al
mov ecx, 0x42be54
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b8e4
sub ecx, edx
push ecx
push 0x42be54
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b91c
push eax
call fcn.0040f940
mov ecx, dword [0x42be74]
mov dword [esp + 0x14], eax
mov dword [esp + 0xa0], 0xcca5a6b5
mov byte [esp + 0xf], 0xf6
cmp ecx, dword [esi + 4]
jle 0x40b978
push 0x42be74
call fcn.004118ad
add esp, 4
cmp dword [0x42be74], 0xffffffff
jne 0x40b978
mov eax, dword [esp + 0xa0]
mov dword [0x42bab4], eax
mov al, byte [esp + 0xf]
push 0x41ff80
mov byte [0x42bab8], al
call fcn.00411bbf
add esp, 4
push 0x42be74
call fcn.00411863
add esp, 4
mov al, byte [0x42bab8]
test al, al
je 0x40b9a4
xor byte [0x42bab4], 0xf6
xor byte [0x42bab5], 0xf6
xor byte [0x42bab6], 0xf6
xor byte [0x42bab7], 0xf6
xor al, 0xf6
mov byte [0x42bab8], al
sub esp, 0x18
mov ecx, 0x42bab4
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x28], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b9c1
sub ecx, dword [esp + 0x28]
push ecx
push 0x42bab4
mov ecx, edx
call fcn.00410390
mov eax, dword [0x42beac]
mov dword [esp + 0xf4], 0x9394979a
mov dword [esp + 0xf8], 0x8586959a
mov byte [esp + 0x27], 0xf6
cmp eax, dword [esi + 4]
jle 0x40ba4b
push 0x42beac
call fcn.004118ad
add esp, 4
cmp dword [0x42beac], 0xffffffff
jne 0x40ba4b
movq xmm0, qword [esp + 0xf4]
mov al, byte [esp + 0x27]
push 0x41ffa0
movq qword [0x42c054], xmm0
mov byte [0x42c05c], al
call fcn.00411bbf
add esp, 4
push 0x42beac
call fcn.00411863
add esp, 4
mov al, byte [0x42c05c]
test al, al
je 0x40ba93
xor byte [0x42c054], 0xf6
xor byte [0x42c055], 0xf6
xor byte [0x42c056], 0xf6
xor byte [0x42c057], 0xf6
xor byte [0x42c058], 0xf6
xor byte [0x42c059], 0xf6
xor byte [0x42c05a], 0xf6
xor byte [0x42c05b], 0xf6
xor al, 0xf6
mov byte [0x42c05c], al
sub esp, 0x18
mov ecx, 0x42c054
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x40], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bab0
sub ecx, dword [esp + 0x40]
push ecx
push 0x42c054
mov ecx, edx
call fcn.00410390
mov edx, dword [esp + 0x48]
sub esp, 8
xor ecx, ecx
push 0xd
push 0xb
push dword [esp + 0x54]
call fcn.004019d0
mov edx, dword [esp + 0x110]
add esp, 0x44
cmp edx, 0x10
jb 0x40bb1d
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40bb13
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e90f
push edx
push ecx
call fcn.0041175f
add esp, 8
mov eax, dword [0x42c12c]
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c4
cmp eax, dword [esi + 4]
jle 0x40bb89
push 0x42c12c
call fcn.004118ad
add esp, 4
cmp dword [0x42c12c], 0xffffffff
jne 0x40bb89
mov eax, dword [esp + 0xa0]
mov dword [0x42c030], eax
mov ax, word [esp + 0xa4]
push 0x41ff30
mov word [0x42c034], ax
call fcn.00411bbf
add esp, 4
push 0x42c12c
call fcn.00411863
add esp, 4
mov al, byte [0x42c035]
test al, al
je 0x40bbbc
xor byte [0x42c030], 0xf6
xor byte [0x42c031], 0xf6
xor byte [0x42c032], 0xf6
xor byte [0x42c033], 0xf6
xor byte [0x42c034], 0xf6
xor al, 0xf6
mov byte [0x42c035], al
mov ecx, 0x42c030
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bbe0
sub ecx, edx
push ecx
push 0x42c030
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b91c
push eax
call fcn.0040f940
mov ecx, dword [0x42ba44]
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], 0xf69090b9
cmp ecx, dword [esi + 4]
jle 0x40bc60
push 0x42ba44
call fcn.004118ad
add esp, 4
cmp dword [0x42ba44], 0xffffffff
jne 0x40bc60
mov eax, dword [esp + 0x1c]
push 0x41ff40
mov dword [0x42bf00], eax
call fcn.00411bbf
add esp, 4
push 0x42ba44
call fcn.00411863
add esp, 4
mov al, byte [0x42bf03]
test al, al
je 0x40bc85
xor byte [0x42bf00], 0xf6
xor byte [0x42bf01], 0xf6
xor byte [0x42bf02], 0xf6
xor al, 0xf6
mov byte [0x42bf03], al
sub esp, 0x18
mov ecx, 0x42bf00
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x28], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bca2
sub ecx, dword [esp + 0x28]
push ecx
push 0x42bf00
mov ecx, edx
call fcn.00410390
mov eax, dword [0x42be48]
mov dword [esp + 0xc0], 0x9394979a
mov dword [esp + 0xc4], 0x9998999a
mov word [esp + 0xc8], 0x9090
mov byte [esp + 0x27], 0xf6
cmp eax, dword [esi + 4]
jle 0x40bd44
push 0x42be48
call fcn.004118ad
add esp, 4
cmp dword [0x42be48], 0xffffffff
jne 0x40bd44
mov ax, word [esp + 0xc8]
movq xmm0, qword [esp + 0xc0]
mov word [0x42bea8], ax
mov al, byte [esp + 0x27]
push 0x41ff50
movq qword [0x42bea0], xmm0
mov byte [0x42beaa], al
call fcn.00411bbf
add esp, 4
push 0x42be48
call fcn.00411863
add esp, 4
cmp byte [0x42beaa], 0
je 0x40bd5d
xor eax, eax
nop
xor byte [eax + 0x42bea0], 0xf6
inc eax
cmp eax, 0xb
jb 0x40bd50
sub esp, 0x18
mov ecx, 0x42bea0
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x40], eax
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bd80
sub ecx, dword [esp + 0x40]
push ecx
push 0x42bea0
mov ecx, edx
call fcn.00410390
mov edx, dword [esp + 0x48]
sub esp, 8
mov ecx, 0x6c
push 0x2c
push 0xb
push dword [esp + 0x54]
call fcn.004019d0
mov edx, dword [esp + 0x110]
add esp, 0x44
cmp edx, 0x10
jb 0x40bdf0
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40bde6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e914
push edx
push ecx
call fcn.0041175f
add esp, 8
mov eax, dword [0x42c060]
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c4
cmp eax, dword [esi + 4]
jle 0x40be5c
push 0x42c060
call fcn.004118ad
add esp, 4
cmp dword [0x42c060], 0xffffffff
jne 0x40be5c
mov eax, dword [esp + 0xa0]
mov dword [0x42bf2c], eax
mov ax, word [esp + 0xa4]
push 0x41ff00
mov word [0x42bf30], ax
call fcn.00411bbf
add esp, 4
push 0x42c060
call fcn.00411863
add esp, 4
mov al, byte [0x42bf31]
test al, al
je 0x40be8f
xor byte [0x42bf2c], 0xf6
xor byte [0x42bf2d], 0xf6
xor byte [0x42bf2e], 0xf6
xor byte [0x42bf2f], 0xf6
xor byte [0x42bf30], 0xf6
xor al, 0xf6
mov byte [0x42bf31], al
mov ecx, 0x42bf2c
mov dword [esp + 0xb8], edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40beb0
sub ecx, edx
push ecx
push 0x42bf2c
lea ecx, [esp + 0xc0]
call fcn.00410390
lea eax, [esp + 0xb8]
mov ecx, 0x42b91c
push eax
call fcn.0040f940
mov word [esp + 0x1c], 0xc4c7
mov byte [esp + 0xf], 0xf6
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, dword [0x42bcac]
cmp eax, dword [esi + 4]
jle 0x40bf40
push 0x42bcac
call fcn.004118ad
add esp, 4
cmp dword [0x42bcac], 0xffffffff
jne 0x40bf40
mov ax, word [esp + 0x1c]
mov word [0x42c00c], ax
mov al, byte [esp + 0xf]
push 0x41ff10
mov byte [0x42c00e], al
call fcn.00411bbf
add esp, 4
push 0x42bcac
call fcn.00411863
add esp, 4
mov al, byte [0x42c00e]
test al, al
je 0x40bf5e
xor byte [0x42c00c], 0xf6
xor byte [0x42c00d], 0xf6
xor al, 0xf6
mov byte [0x42c00e], al
sub esp, 0x18
mov ecx, 0x42c00c
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x28], eax
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40bf80
sub ecx, dword [esp + 0x28]
push ecx
push 0x42c00c
mov ecx, edx
call fcn.00410390
mov eax, dword [0x42c110]
mov dword [esp + 0xec], 0x829f9293
mov dword [esp + 0xf0], 0xf6858695
cmp eax, dword [esi + 4]
jle 0x40c004
push 0x42c110
call fcn.004118ad
add esp, 4
cmp dword [0x42c110], 0xffffffff
jne 0x40c004
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
push 0x41ff20
mov dword [0x42be3c], eax
mov dword [0x42be40], ecx
call fcn.00411bbf
add esp, 4
push 0x42c110
call fcn.00411863
add esp, 4
mov al, byte [0x42be43]
test al, al
je 0x40c045
xor byte [0x42be3c], 0xf6
xor byte [0x42be3d], 0xf6
xor byte [0x42be3e], 0xf6
xor byte [0x42be3f], 0xf6
xor byte [0x42be40], 0xf6
xor byte [0x42be41], 0xf6
xor byte [0x42be42], 0xf6
xor al, 0xf6
mov byte [0x42be43], al
sub esp, 0x18
mov ecx, 0x42be3c
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], edi
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], 0xf
mov dword [esp + 0x40], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c062
sub ecx, dword [esp + 0x40]
push ecx
push 0x42be3c
mov ecx, edx
call fcn.00410390
mov edx, dword [esp + 0x48]
mov ecx, 0x6d
push 0x14
push 0x3b
push 0xa
push 0x26
push dword [esp + 0x54]
call fcn.00401c40
mov edx, dword [esp + 0x110]
add esp, 0x44
cmp edx, 0x10
jb 0x40c0d3
mov ecx, dword [esp + 0xb8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40c0c9
mov eax, dword [0x42bbac]
mov dword [esp + 0xa0], 0x9298819e
mov word [esp + 0xa4], 0xf6c4
cmp eax, dword [esi + 4]
jle 0x40c13f
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
call fcn.0041609d
push 1
call fcn.0041271b
push eax
call fcn.004126ee
call fcn.0041609d
call fcn.0041609d
call fcn.00415dd4
int3