Function at 0x53c9e0
Capabilities:
Contain obfuscated stackstrings

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 0x5c6ca6
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x244
mov eax, dword [0x6c21e4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x23c], edi
mov esi, dword [ebx + 8]
mov dword [ebp - 0x22c], esi
call fcn.00482e60
test al, al
jne 0x53ca42
xor eax, eax
jmp 0x5407b4
mov eax, dword [edi + 0x14a8]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x1b4], eax
xorps xmm0, xmm0
lea eax, [esi + 8]
movq qword [ebp - 0x2c], xmm0
push eax
mov dword [ebp - 0x24], 0
call fcn.00516ec0
push 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2c]
push 0x20019
mov dword [ebp - 0x18], 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.00511740
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.00511760
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.005116c0
test eax, eax
jne 0x53cab9
xor esi, esi
jmp 0x54079a
xorps xmm0, xmm0
mov dword [ebp - 0x1cc], 0
lea ecx, [ebp - 0x1d4]
movq qword [ebp - 0x1d4], xmm0
call fcn.00511780
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.00510fa0
mov esi, eax
mov dword [ebp - 0x1c0], esi
test esi, esi
je 0x54078f
call fcn.00502a70
mov byte [ebp - 0x231], al
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x1ec], esi
mov edx, 0xc
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.0041ec10
add esp, 4
mov dword [ebp - 0x254], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x53cb5b
push fcn.00516d50
push fcn.00516ef0
push esi
lea edi, [eax + 4]
mov dword [eax], esi
push 0xc
push edi
mov dword [ebp - 0x240], edi
call fcn.0041ec45
jmp 0x53cb65
mov dword [ebp - 0x240], 0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x134]
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
movq qword [ebp - 0x134], xmm0
call fcn.00516ef0
xor ecx, ecx
mov byte [ebp - 4], 5
mov eax, esi
mov dword [ebp - 0x1ec], esi
mov edx, 0xc
mul edx
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.0041ec10
add esp, 4
mov dword [ebp - 0x254], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x53cbe8
push fcn.00516d50
push fcn.00516ef0
push esi
mov dword [eax], esi
add eax, 4
push 0xc
push eax
mov dword [ebp - 0x244], eax
call fcn.0041ec45
jmp 0x53cbf2
mov dword [ebp - 0x244], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x140]
xorps xmm0, xmm0
mov dword [ebp - 0x138], 0
movq qword [ebp - 0x140], xmm0
call fcn.00516ef0
xor ecx, ecx
mov byte [ebp - 4], 7
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041ec10
mov edi, eax
xor ecx, ecx
add esp, 4
mov dword [ebp - 0x238], edi
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041ec10
add esp, 4
shl esi, 2
mov dword [ebp - 0x24c], eax
push esi
push 0
push edi
call fcn.00420570
add esp, 0xc
push esi
mov esi, dword [ebp - 0x24c]
push 0
push esi
call fcn.00420570
mov eax, dword [ebp - 0x240]
xorps xmm0, xmm0
movlpd qword [ebp - 0x1a0], xmm0
add esp, 0xc
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x244]
movlpd qword [ebp - 0x1a8], xmm0
mov dword [ebp - 0x1a8], eax
movlpd qword [ebp - 0x1b0], xmm0
mov dword [ebp - 0x1b0], edi
movlpd qword [ebp - 0x188], xmm0
mov dword [ebp - 0x188], esi
push 0
mov byte [ebp - 4], 0xb
call dword [0x5cda6c]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0
call fcn.00511760
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], 0
call fcn.00511760
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x9c], 0
call fcn.00511760
mov eax, dword [ebp - 0x22c]
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x1b4]
push dword [eax + 0x14]
call fcn.004f5a60
mov esi, eax
push 1
push dword [ebp - 0x1c0]
push 0x21
push 0x12
push 0x12
call dword [0x5cd184]
push eax
push 0
push 0x1109
push esi
call dword [0x5cd800]
xor edi, edi
mov dword [ebp - 0x1c8], edi
cmp dword [ebp - 0x1c0], edi
jbe 0x53cf15
mov ecx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
sub eax, ecx
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x248], eax
nop
lea eax, [ebp - 0x1d4]
push eax
push edi
lea ecx, [ebp - 0x18]
call fcn.005110a0
test al, al
je 0x53cf0f
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x5ed514
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x140]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x140]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x1c]
call fcn.005116f0
mov eax, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x1c]
mov edx, dword [ebp - 0x248]
add eax, edx
push eax
push 0x604a84
call fcn.00511410
push dword [ebp - 0x1c8]
lea ecx, [ebp - 0x1c]
push 0x5f8dd4
call fcn.00511410
mov ecx, dword [ebp - 0x1c8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65e768
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x134]
call fcn.00516b20
mov eax, dword [ebp - 0x22c]
lea ecx, [ebp - 0x134]
push dword [eax + 0x14]
push 0xffffffffffffffff
push 0
push 0
call fcn.00516ab0
mov ecx, dword [ebp - 0x1b4]
push eax
call fcn.004eae50
mov dword [esi + edi*4], eax
lea ecx, [ebp - 0x1c]
lea eax, [ebp - 0x1f0]
xorps xmm0, xmm0
push eax
push 0x65baa8
movlpd qword [ebp - 0x1f0], xmm0
call fcn.005112f0
test al, al
je 0x53cec7
mov ecx, dword [ebp - 0x1f0]
mov eax, ecx
or eax, dword [ebp - 0x1ec]
je 0x53cec7
mov eax, dword [ebp - 0x22c]
push 3
push ecx
push dword [esi + edi*4]
mov ecx, dword [ebp - 0x1b4]
push dword [eax + 0x14]
call fcn.004ea860
push dword [ebp - 0x1f0]
call dword [0x5cd7a0]
jmp 0x53cefb
push 3
push ecx
mov ecx, dword [ebp - 0x23c]
push 0
push 0x14
push 0x14
push 0xa7
call fcn.00473950
mov ecx, dword [ebp - 0x1b4]
add esp, 4
push eax
mov eax, dword [ebp - 0x22c]
push dword [esi + edi*4]
push dword [eax + 0x14]
call fcn.004ea630
add dword [ebp - 0x1c8], 0xc
inc edi
cmp edi, dword [ebp - 0x1c0]
jb 0x53cd80
mov dword [ebp - 0x1c8], edi
xorps xmm0, xmm0
mov dword [ebp - 0x6c], 0
lea ecx, [ebp - 0x74]
movq qword [ebp - 0x74], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x98]
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
movq qword [ebp - 0x98], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xa8]
xorps xmm0, xmm0
mov dword [ebp - 0xa0], 0
movq qword [ebp - 0xa8], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xb4]
xorps xmm0, xmm0
mov dword [ebp - 0xac], 0
movq qword [ebp - 0xb4], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x14c]
xorps xmm0, xmm0
mov dword [ebp - 0x144], 0
movq qword [ebp - 0x14c], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x38]
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movq qword [ebp - 0x38], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x4c]
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
movq qword [ebp - 0x4c], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xd4]
xorps xmm0, xmm0
mov dword [ebp - 0xcc], 0
movq qword [ebp - 0xd4], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x58]
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
movq qword [ebp - 0x58], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1fc]
xorps xmm0, xmm0
mov dword [ebp - 0x1f4], 0
movq qword [ebp - 0x1fc], xmm0
call fcn.00511780
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1e8]
xorps xmm0, xmm0
mov dword [ebp - 0x1e0], 0
movq qword [ebp - 0x1e8], xmm0
call fcn.00511780
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x20c]
xorps xmm0, xmm0
mov dword [ebp - 0x204], 0
movq qword [ebp - 0x20c], xmm0
call fcn.00511780
mov ecx, dword [ebp - 0x23c]
push 0x65e778
mov byte [ebp - 4], 0x1a
push 0xffffffffffffffff
lea ecx, [ecx + 0x14b0]
mov dword [ebp - 0x20], 0
call fcn.004e73c0
xor ecx, ecx
mov esi, 0x658f98
mov dword [ebp - 0x3c], ecx
nop word [eax + eax]
cmp ecx, 1
jne 0x53d0e3
mov dl, byte [ebp - 0x231]
test dl, dl
je 0x53d330
cmp ecx, 1
mov eax, 0x658f68
lea ecx, [ebp - 0x2c]
cmovne eax, esi
push eax
call fcn.00516e30
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.005116f0
test al, al
je 0x53d31a
mov esi, dword [ebp - 0x22c]
mov eax, 1
mov dword [ebp - 0x1c0], eax
cmp byte [esi + 4], 0
jne 0x53d315
lea ecx, [ebp - 0x1d4]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.005110a0
test al, al
je 0x53d315
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x5ed514
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x74]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x1c]
call fcn.005116f0
lea ecx, [ebp - 0x1c]
call fcn.00510fa0
mov dword [ebp - 0x248], eax
test eax, eax
je 0x53d2fe
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1c4], 0
push eax
push 0
lea ecx, [ebp - 0x1c]
call fcn.005110a0
test al, al
je 0x53d2fe
nop dword [eax]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1fc]
lea ecx, [ebp - 0x74]
push 0x5ed514
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x98]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x98]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x40]
call fcn.005116f0
lea eax, [ebp - 0x38]
push eax
push 0x5ed51c
lea ecx, [ebp - 0x40]
call fcn.00511410
test al, al
je 0x53d2d9
lea ecx, [ebp - 0x38]
call fcn.005167b0
test al, al
jne 0x53d2d9
lea ecx, [ebp - 0x38]
call fcn.0050f330
test al, al
jne 0x53d2d9
push 0
lea ecx, [ebp - 0x38]
call fcn.00516530
xor eax, eax
mov dword [ebp - 0x1bc], eax
test edi, edi
je 0x53d2d9
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x1b4], ecx
nop dword [eax]
cmp dword [esi + eax*4], 0
je 0x53d2bf
call fcn.00516cc0
mov ecx, dword [ebp - 0x1b4]
test eax, eax
je 0x53d2b9
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x38]
call fcn.00515510
test eax, eax
jne 0x53d59e
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x1bc]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x1b4], ecx
cmp eax, edi
jb 0x53d280
mov esi, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x1fc]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c4], eax
call fcn.005110a0
test al, al
jne 0x53d1d0
mov eax, dword [ebp - 0x1c0]
inc eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x1c0], eax
je 0x53d132
mov esi, 0x658f98
mov ecx, dword [ebp - 0x3c]
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 2
jb 0x53d0d0
mov dl, byte [ebp - 0x231]
mov eax, dword [ebp - 0x22c]
cmp byte [eax + 4], 0
jne 0x540697
xor esi, esi
mov ecx, str.HKCR
mov dword [ebp - 0x1bc], esi
nop dword [eax]
cmp esi, 1
jne 0x53d35d
test dl, dl
je 0x53dcc0
cmp byte [eax + 4], 0
jne 0x540697
cmp esi, 1
mov eax, 0x5fecf4
cmovne eax, ecx
lea ecx, [ebp - 0x2c]
push eax
call fcn.00516e30
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.005116f0
test al, al
mov eax, dword [ebp - 0x22c]
je 0x53dca5
xor ecx, ecx
mov dword [ebp - 0x1c0], ecx
cmp byte [eax + 4], cl
jne 0x53dca5
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.005110a0
test al, al
je 0x53dc9f
mov eax, dword [ebp - 0x1d4]
cmp word [eax], 0x2e
je 0x53dc7a
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 0x5ed514
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x98]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x98]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x1c]
call fcn.005116f0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x5fa170
lea ecx, [ebp - 0x98]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0xa8]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0xa8]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x40]
call fcn.005116f0
test al, al
je 0x53d825
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1b8], 0
push eax
push 0
lea ecx, [ebp - 0x40]
call fcn.005110a0
test al, al
je 0x53d825
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1e8]
lea ecx, [ebp - 0xa8]
push 0x5ed514
call fcn.00516ab0
push eax
lea ecx, [ebp - 0xb4]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0xb4]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x68]
call fcn.005116f0
test al, al
je 0x53d67d
lea eax, [ebp - 0x38]
push eax
push 0x5fa1b0
lea ecx, [ebp - 0x68]
call fcn.00511410
test al, al
je 0x53d67d
lea ecx, [ebp - 0x38]
call fcn.00516cc0
cmp eax, 4
jle 0x53d67d
push esi
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0050f3b0
mov esi, dword [ebp - 0x238]
xor eax, eax
mov dword [ebp - 0x230], eax
test edi, edi
je 0x53d683
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x1b4], ecx
cmp dword [esi + eax*4], 0
je 0x53d585
call fcn.00516cc0
mov ecx, dword [ebp - 0x1b4]
test eax, eax
je 0x53d57f
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x58]
call fcn.00515510
test eax, eax
jne 0x53d61b
mov ecx, dword [ebp - 0x1b4]
mov eax, dword [ebp - 0x230]
inc eax
add ecx, 0xc
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x1b4], ecx
cmp eax, edi
jb 0x53d546
jmp 0x53d683
cmp dword [ebp - 0x248], 1
lea ecx, [ebp - 0x98]
ja 0x53d5b0
lea ecx, [ebp - 0x74]
call fcn.00516ab0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x1b8], eax
call fcn.00516ab0
push eax
push 0x657278
push dword [ebp - 0x1b8]
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1bc]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
mov esi, dword [ebp - 0x22c]
push eax
push esi
call fcn.0053bda0
jmp 0x53d2d9
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.00516ab0
push eax
push 0x6593ac
lea ecx, [ebp - 0xb4]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x230]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
jmp 0x53d683
mov esi, dword [ebp - 0x238]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.Command
lea ecx, [ebp - 0xb4]
call fcn.00515270
push 0
push 0x20019
lea ecx, [ebp - 0xb4]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x68]
call fcn.005116f0
lea eax, [ebp - 0x38]
push eax
push 0x5ed51c
lea ecx, [ebp - 0x68]
call fcn.00511410
test al, al
je 0x53d7fa
lea ecx, [ebp - 0x38]
call fcn.00516cc0
cmp eax, 3
jle 0x53d7fa
push 3
push 1
push 1
push 1
push 0x5f0a00
lea ecx, [ebp - 0x38]
call fcn.00515510
cmp eax, 1
je 0x53d7fa
cmp eax, 2
je 0x53d7fa
push dword [ebp - 0x1bc]
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0050f3b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53d7fa
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x53d77d
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53d777
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x58]
call fcn.00515510
test eax, eax
jne 0x53d793
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53d742
jmp 0x53d7fa
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.00516ab0
push eax
push 0x657278
push dword [ebp - 0x1e8]
lea ecx, [ebp - 0xa8]
push 0x5ed514
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov esi, dword [ebp - 0x1b8]
lea eax, [ebp - 0x1e8]
inc esi
lea ecx, [ebp - 0x40]
push eax
push esi
mov dword [ebp - 0x1b8], esi
call fcn.005110a0
mov esi, dword [ebp - 0x1bc]
test al, al
jne 0x53d497
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.DefaultIcon
lea ecx, [ebp - 0x98]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0xa8]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0xa8]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x40]
call fcn.005116f0
lea eax, [ebp - 0x38]
push eax
push 0x5ed51c
lea ecx, [ebp - 0x40]
call fcn.00511410
test al, al
je 0x53d9c7
lea ecx, [ebp - 0x38]
call fcn.00516cc0
cmp eax, 3
jle 0x53d9c7
lea ecx, [ebp - 0x38]
call fcn.00516cc0
test eax, eax
je 0x53d8ba
push 1
lea ecx, [ebp - 0x38]
call fcn.00516d60
cmp word [eax], 0x7b
je 0x53d9c7
push 4
push 1
push 1
push 1
push 0x5f0a00
lea ecx, [ebp - 0x38]
call fcn.00515510
cmp eax, 1
je 0x53d9c7
cmp eax, 2
je 0x53d9c7
push esi
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0050f3b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53d9c7
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
nop
cmp dword [esi + eax*4], 0
je 0x53d94b
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53d945
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x58]
call fcn.00515510
test eax, eax
jne 0x53d961
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53d910
jmp 0x53d9c1
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.00516ab0
push eax
push 0x657278
lea ecx, [ebp - 0xa8]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov esi, dword [ebp - 0x1bc]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x659628
lea ecx, [ebp - 0x98]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0xa8]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0xa8]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x40]
call fcn.005116f0
test al, al
je 0x53dc7a
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1c4], 0
push eax
push 0
lea ecx, [ebp - 0x40]
call fcn.005110a0
test al, al
je 0x53dc7a
nop dword [eax]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x5fa170
push dword [ebp - 0x1e8]
lea ecx, [ebp - 0xa8]
push 0x5ed514
call fcn.00516ab0
push eax
lea ecx, [ebp - 0xb4]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0xb4]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x68]
call fcn.005116f0
test al, al
je 0x53dc4f
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x1b8], 0
push eax
push 0
lea ecx, [ebp - 0x68]
call fcn.005110a0
test al, al
je 0x53dc4f
nop dword [eax]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.command
push dword [ebp - 0x20c]
lea ecx, [ebp - 0xb4]
push 0x5ed514
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x14c]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x14c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x9c]
call fcn.005116f0
test al, al
je 0x53dc24
lea eax, [ebp - 0x38]
push eax
push 0x5ed51c
lea ecx, [ebp - 0x9c]
call fcn.00511410
test al, al
je 0x53dc24
lea ecx, [ebp - 0x38]
call fcn.00516cc0
cmp eax, 4
jl 0x53dc24
push esi
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0050f3b0
xor esi, esi
test edi, edi
je 0x53dc24
mov ecx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
cmp dword [eax + esi*4], 0
je 0x53dbad
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53dba7
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x58]
call fcn.00515510
test eax, eax
jne 0x53dbbd
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x238]
inc esi
add ecx, 0xc
mov dword [ebp - 0x230], ecx
cmp esi, edi
jb 0x53db72
jmp 0x53dc24
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.00516ab0
push eax
push 0x657278
push dword [ebp - 0x20c]
lea ecx, [ebp - 0xb4]
push 0x5ed514
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push esi
push dword [ebp - 0x24c]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x238]
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x20c]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x1b8], eax
call fcn.005110a0
mov esi, dword [ebp - 0x1bc]
test al, al
jne 0x53dac0
mov eax, dword [ebp - 0x1c4]
lea ecx, [ebp - 0x1e8]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x1c4], eax
call fcn.005110a0
mov esi, dword [ebp - 0x1bc]
test al, al
jne 0x53da40
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1c0]
mov esi, dword [ebp - 0x1bc]
inc ecx
mov dword [ebp - 0x1c0], ecx
cmp byte [eax + 4], 0
je 0x53d3b2
jmp 0x53dca5
mov eax, dword [ebp - 0x22c]
mov dl, byte [ebp - 0x231]
inc esi
mov dword [ebp - 0x1bc], esi
mov ecx, str.HKCR
cmp esi, 2
jb 0x53d350
cmp byte [eax + 4], 0
jne 0x540697
push 0x5feb98
lea ecx, [ebp - 0x2c]
call fcn.00516e30
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.005116f0
test al, al
mov eax, dword [ebp - 0x22c]
je 0x53e004
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], cl
jne 0x53e004
nop
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.005110a0
test al, al
je 0x53dffe
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x5ed514
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x74]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x1c]
call fcn.005116f0
test al, al
je 0x53de88
lea eax, [ebp - 0x38]
push eax
push 0x5fa704
lea ecx, [ebp - 0x1c]
call fcn.00511410
test al, al
je 0x53de88
lea ecx, [ebp - 0x38]
call fcn.00516cc0
cmp eax, 3
jle 0x53de88
mov eax, dword [ebp - 0x23c]
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
movzx eax, byte [eax + 0x11]
push eax
call fcn.0050f3b0
mov esi, dword [ebp - 0x238]
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53de8e
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x53de13
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53de0d
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x58]
call fcn.00515510
test eax, eax
jne 0x53de29
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53ddd8
jmp 0x53de8e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.00516ab0
push eax
push 0x657278
lea ecx, [ebp - 0x74]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
jmp 0x53de8e
mov esi, dword [ebp - 0x238]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x5febe8
lea ecx, [ebp - 0x74]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x98]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x98]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x1c]
call fcn.005116f0
test al, al
je 0x53dfdf
lea eax, [ebp - 0x38]
push eax
push 0x5fec00
lea ecx, [ebp - 0x1c]
call fcn.00511410
test al, al
je 0x53dfdf
lea ecx, [ebp - 0x38]
call fcn.00516cc0
cmp eax, 3
jle 0x53dfdf
push 0
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0050f3b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53dfdf
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x53df6c
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53df66
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x58]
call fcn.00515510
test eax, eax
jne 0x53df82
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53df31
jmp 0x53dfdf
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.00516ab0
push eax
push 0x657278
lea ecx, [ebp - 0x74]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1b8]
inc ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], 0
je 0x53dd10
jmp 0x53e004
mov eax, dword [ebp - 0x22c]
cmp byte [eax + 4], 0
jne 0x540697
xor esi, esi
mov ecx, 0x6598d8
mov dword [ebp - 0x1c4], esi
nop dword [eax + eax]
cmp esi, 1
jne 0x53e032
cmp byte [ebp - 0x231], 0
je 0x53e231
cmp byte [eax + 4], 0
jne 0x540697
cmp esi, 1
mov eax, 0x659848
cmovne eax, ecx
lea ecx, [ebp - 0x2c]
push eax
call fcn.00516e30
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.005116f0
test al, al
mov eax, dword [ebp - 0x22c]
je 0x53e21c
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], cl
jne 0x53e21c
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.005110a0
test al, al
je 0x53e210
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x5ed514
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x74]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x1c]
call fcn.005116f0
test al, al
je 0x53e1f1
lea eax, [ebp - 0x38]
push eax
push 0x5ed51c
lea ecx, [ebp - 0x1c]
call fcn.00511410
test al, al
je 0x53e1f1
lea ecx, [ebp - 0x38]
call fcn.00516cc0
cmp eax, 3
jle 0x53e1f1
push 0
lea ecx, [ebp - 0x38]
call fcn.00516530
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53e1f1
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x53e17e
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53e178
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x38]
call fcn.00515510
test eax, eax
jne 0x53e194
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53e143
jmp 0x53e1f1
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.00516ab0
push eax
push 0x657278
lea ecx, [ebp - 0x74]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1b8]
inc ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], 0
je 0x53e087
jmp 0x53e216
mov eax, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x1c4]
inc esi
mov ecx, 0x6598d8
mov dword [ebp - 0x1c4], esi
cmp esi, 2
jb 0x53e020
cmp byte [eax + 4], 0
jne 0x540697
call fcn.005133c0
push 0
push 0x20019
push 0x60a8a8
lea ecx, [ebp - 0x1c]
movsd qword [ebp - 0xe8], xmm0
call fcn.005116f0
test al, al
mov eax, dword [ebp - 0x22c]
je 0x53e702
xor ecx, ecx
mov dword [ebp - 0x1c0], ecx
cmp byte [eax + 4], cl
jne 0x53e702
nop dword [eax + eax]
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x1c]
call fcn.005110a0
test al, al
je 0x53e6fc
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
call fcn.00516e30
push 0
push 1
push 1
push 0
push 0x60a8e4
lea ecx, [ebp - 0x2c]
call fcn.00515510
cmp eax, 1
jne 0x53e6dd
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x60a910
lea ecx, [ebp - 0x2c]
call fcn.005150b0
movsd xmm0, qword [ebp - 0xe8]
comisd xmm0, xmmword [0x6a40a0]
jb 0x53e508
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x659ac0
lea ecx, [ebp - 0x2c]
call fcn.00515270
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.005116f0
test al, al
mov eax, dword [ebp - 0x22c]
je 0x53e6e3
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], cl
jne 0x53e6e3
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.00511000
test al, al
je 0x53e6dd
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x18]
call fcn.00511410
test al, al
je 0x53e4e6
lea ecx, [ebp - 0x38]
call fcn.00516cc0
cmp eax, 0x19
jl 0x53e4e6
push 0
push 1
push 1
push 0
push 0x659b40
lea ecx, [ebp - 0x38]
call fcn.00515510
test eax, eax
je 0x53e4e6
add eax, 4
lea ecx, [ebp - 0x38]
push eax
call fcn.00515800
push 0
push 1
push 1
push 0
push 0x5f3950
lea ecx, [ebp - 0x38]
call fcn.00515510
test eax, eax
je 0x53e3e5
push eax
lea ecx, [ebp - 0x38]
call fcn.005158b0
push 0
push 1
push 0xffffffffffffffff
push 1
push 0x5ed650
lea ecx, [ebp - 0x38]
call fcn.00515510
test eax, eax
je 0x53e4e6
dec eax
lea ecx, [ebp - 0x38]
push eax
call fcn.005158b0
push 0
lea ecx, [ebp - 0x38]
call fcn.00516530
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53e4e6
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x53e473
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53e46d
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x38]
call fcn.00515510
test eax, eax
jne 0x53e489
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53e438
jmp 0x53e4e6
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65e7c4
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x5f6828
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1b8]
inc ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], 0
je 0x53e357
jmp 0x53e6e3
mov eax, dword [ebp - 0x22c]
xor esi, esi
mov dword [ebp - 0x1c4], esi
cmp byte [eax + 4], 0
jne 0x53e6e3
test esi, esi
jne 0x53e535
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x659b78
jmp 0x53e553
cmp esi, 1
jne 0x53e564
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x659c30
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x74]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.005116f0
test al, al
mov eax, dword [ebp - 0x22c]
je 0x53e6cb
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], cl
jne 0x53e6cb
nop dword [eax + eax]
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.00511000
test al, al
je 0x53e6bf
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x38]
call fcn.00516e30
push 0
lea ecx, [ebp - 0x38]
call fcn.00516530
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53e6a0
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x53e62d
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53e627
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x38]
call fcn.00515510
test eax, eax
jne 0x53e643
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53e5f2
jmp 0x53e6a0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65e7fc
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x5f6828
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1b8]
inc ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], 0
je 0x53e5a0
jmp 0x53e6c5
mov eax, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x1c4]
inc esi
mov dword [ebp - 0x1c4], esi
cmp esi, 2
jb 0x53e516
jmp 0x53e6e3
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1c0]
inc ecx
cmp byte [eax + 4], 0
mov dword [ebp - 0x1c0], ecx
je 0x53e280
jmp 0x53e702
mov eax, dword [ebp - 0x22c]
cmp byte [eax + 4], 0
jne 0x540697
push 0
lea eax, [ebp - 0x200]
mov dword [ebp - 0x1d8], 0
push eax
lea edx, [ebp - 0x1dc]
mov dword [ebp - 0x1dc], 0
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x200], 0
call fcn.004cf060
mov ecx, dword [ebp - 0x1d8]
xorps xmm0, xmm0
movlpd qword [ebp - 0xe8], xmm0
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0xe8], ecx
mov edx, dword [ebp - 0x1dc]
movlpd qword [ebp - 0x190], xmm0
mov dword [ebp - 0x1ec], edx
mov dword [ebp - 0x190], edx
mov edx, dword [ebp - 0x200]
movlpd qword [ebp - 0x198], xmm0
mov dword [ebp - 0x254], edx
mov dword [ebp - 0x198], edx
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x3c], 0
test eax, eax
je 0x53e9f7
mov eax, dword [ebp - 0x22c]
xor edx, edx
mov dword [ebp - 0x1c0], edx
cmp byte [eax + 4], 0
jne 0x53e9f7
xor esi, esi
mov dword [ebp - 0x1c4], esi
nop dword [eax + eax]
cmp byte [eax + 4], 0
jne 0x53e9d5
test esi, esi
jne 0x53e7ee
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x659cf0
jmp 0x53e828
cmp esi, 1
jne 0x53e80c
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x659db0
jmp 0x53e828
cmp esi, 3
jne 0x53e83d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x659f40
add ecx, edx
call fcn.00516ab0
push eax
push str.HKU_
lea ecx, [ebp - 0x2c]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.005116f0
test al, al
mov eax, dword [ebp - 0x22c]
je 0x53e9b9
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], cl
jne 0x53e9b9
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.00511000
test al, al
je 0x53e9ad
mov ecx, dword [ebp - 0x1d4]
call fcn.00513870
cmp eax, 3
jl 0x53e98e
mov eax, dword [ebp - 0x1d4]
cmp word [eax + 2], 0x3a
jne 0x53e98e
push eax
lea ecx, [ebp - 0x58]
call fcn.00516e30
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53e98e
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
nop dword [eax]
cmp dword [esi + eax*4], 0
je 0x53e91b
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53e915
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x58]
call fcn.00515510
test eax, eax
jne 0x53e931
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53e8e0
jmp 0x53e98e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65e830
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x5f6828
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1b8]
inc ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], 0
je 0x53e874
jmp 0x53e9b3
mov eax, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x1c4]
mov ecx, dword [ebp - 0x1d8]
inc esi
mov edx, dword [ebp - 0x1c0]
mov dword [ebp - 0x1c4], esi
cmp esi, 3
jb 0x53e7d0
mov esi, dword [ebp - 0x3c]
add edx, 0xc
mov edi, dword [ebp - 0x1c8]
inc esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x1c0], edx
cmp esi, dword [ebp - 0x1bc]
jb 0x53e7b6
mov edx, dword [ebp - 0x22c]
cmp byte [edx + 4], 0
jne 0x54065f
xor esi, esi
mov dword [ebp - 0x1c4], esi
nop
mov al, byte [edx + 4]
test al, al
jne 0x54065f
test esi, esi
jne 0x53ea26
push 0x5f9ec0
jmp 0x53ea48
cmp esi, 1
jne 0x53ea32
push 0x659e38
jmp 0x53ea48
cmp esi, 2
jne 0x53ea3e
push 0x5f9e78
jmp 0x53ea48
cmp esi, 3
jne 0x53ea50
push 0x659ee0
lea ecx, [ebp - 0x2c]
call fcn.00516e30
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.005116f0
mov edx, dword [ebp - 0x22c]
test al, al
je 0x53ebc9
xor eax, eax
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], al
jne 0x53ebc9
lea ecx, [ebp - 0x1d4]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.00511000
test al, al
je 0x53ebbd
mov ecx, dword [ebp - 0x1d4]
call fcn.00513870
cmp eax, 3
jl 0x53eb9e
mov eax, dword [ebp - 0x1d4]
cmp word [eax + 2], 0x3a
jne 0x53eb9e
push eax
lea ecx, [ebp - 0x58]
call fcn.00516e30
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53eb9e
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
nop
cmp dword [esi + eax*4], 0
je 0x53eb2b
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53eb25
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x58]
call fcn.00515510
test eax, eax
jne 0x53eb41
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53eaf0
jmp 0x53eb9e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65e830
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x5f6828
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x1b8]
inc eax
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], 0
je 0x53ea87
jmp 0x53ebc3
mov edx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x1c4]
inc esi
mov dword [ebp - 0x1c4], esi
cmp esi, 3
jb 0x53ea10
mov al, byte [edx + 4]
test al, al
jne 0x54065f
xor esi, esi
mov dword [ebp - 0x1c4], esi
nop dword [eax]
mov al, byte [edx + 4]
test al, al
jne 0x54065f
test esi, esi
jne 0x53ec08
push 1
push 0x65a000
jmp 0x53ec13
cmp esi, 1
jne 0x53ec1b
push esi
push 0x65a088
lea ecx, [ebp - 0x2c]
call fcn.00516b80
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.005116f0
mov edx, dword [ebp - 0x22c]
test al, al
je 0x53ed79
xor eax, eax
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], al
jne 0x53ed79
lea ecx, [ebp - 0x1d4]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.00511000
test al, al
je 0x53ed6d
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x58]
call fcn.00516e30
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53ed4e
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
nop word [eax + eax]
cmp dword [esi + eax*4], 0
je 0x53ecdb
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53ecd5
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x58]
call fcn.00515510
test eax, eax
jne 0x53ecf1
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53eca0
jmp 0x53ed4e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65e870
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x5f6828
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x1b8]
inc eax
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], 0
je 0x53ec52
jmp 0x53ed73
mov edx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x1c4]
inc esi
mov dword [ebp - 0x1c4], esi
cmp esi, 2
jb 0x53ebf0
mov al, byte [edx + 4]
test al, al
jne 0x54065f
mov eax, dword [ebp - 0x1bc]
xor esi, esi
add eax, 2
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x250], eax
je 0x53f2af
xor ecx, ecx
mov dword [ebp - 0x248], ecx
cmp byte [edx + 4], 0
jne 0x54065f
mov eax, dword [ebp - 0x1bc]
cmp esi, eax
jne 0x53edd9
push 0x62beb0
lea ecx, [ebp - 0x2c]
call fcn.00516e30
jmp 0x53ee2a
inc eax
cmp esi, eax
jne 0x53edfa
cmp byte [ebp - 0x231], 0
je 0x53f2af
push 0x6599d4
lea ecx, [ebp - 0x2c]
call fcn.00516e30
jmp 0x53ee2a
add ecx, dword [ebp - 0x1d8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x659a30
call fcn.00516ab0
push eax
push str.HKU_
lea ecx, [ebp - 0x2c]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.005116f0
mov edx, dword [ebp - 0x22c]
test al, al
je 0x53f290
xor eax, eax
mov dword [ebp - 0x1c0], eax
cmp byte [edx + 4], al
jne 0x53f290
lea ecx, [ebp - 0x1d4]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.005110a0
test al, al
je 0x53f28a
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0xd4]
call fcn.00516e30
push str.Microsoft
lea ecx, [ebp - 0xd4]
call fcn.00516de0
test al, al
jne 0x53f268
push 0x659ab0
lea ecx, [ebp - 0xd4]
call fcn.00516de0
test al, al
jne 0x53f268
cmp esi, dword [ebp - 0x1bc]
jne 0x53eeda
push 0x65e8b0
lea ecx, [ebp - 0xd4]
call fcn.00516de0
test al, al
jne 0x53f268
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x5ed514
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x74]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x1c]
call fcn.005116f0
test al, al
je 0x53f069
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1b8], 0
push eax
push 0
lea ecx, [ebp - 0x1c]
call fcn.00511000
test al, al
je 0x53f069
nop dword [eax + eax]
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x1fc]
lea ecx, [ebp - 0x1c]
call fcn.00511410
test al, al
je 0x53f044
push 0
lea ecx, [ebp - 0x38]
call fcn.00516530
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53f044
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x53efd1
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53efcb
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x38]
call fcn.00515510
test eax, eax
jne 0x53efe7
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53ef96
jmp 0x53f044
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.00516ab0
push eax
push 0x657278
lea ecx, [ebp - 0x74]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x1fc]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1b8], eax
call fcn.00511000
test al, al
jne 0x53ef50
lea ecx, [ebp - 0x1c]
call fcn.005116c0
test eax, eax
je 0x53f268
lea eax, [ebp - 0x1fc]
xor esi, esi
push eax
push esi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c4], esi
call fcn.005110a0
test al, al
je 0x53f268
nop dword [eax]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1fc]
lea ecx, [ebp - 0x74]
push 0x5ed514
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x98]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x98]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x40]
call fcn.005116f0
test al, al
je 0x53f249
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1b8], 0
push eax
push 0
lea ecx, [ebp - 0x40]
call fcn.00511000
test al, al
je 0x53f249
nop word [eax + eax]
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x1e8]
lea ecx, [ebp - 0x40]
call fcn.00511410
test al, al
je 0x53f21e
push 0
lea ecx, [ebp - 0x38]
call fcn.00516530
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53f21e
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x53f1a1
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53f19b
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x38]
call fcn.00515510
test eax, eax
jne 0x53f1b7
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53f166
jmp 0x53f21e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.00516ab0
push eax
push 0x657278
push dword [ebp - 0x1e8]
lea ecx, [ebp - 0x98]
push 0x5f6828
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x1e8]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x1b8], eax
call fcn.00511000
test al, al
jne 0x53f120
mov esi, dword [ebp - 0x1c4]
lea eax, [ebp - 0x1fc]
inc esi
push eax
push esi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c4], esi
call fcn.005110a0
test al, al
jne 0x53f0a0
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x1c0]
mov esi, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x1c0], eax
cmp byte [edx + 4], 0
je 0x53ee61
jmp 0x53f290
mov edx, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x248]
inc esi
add ecx, 0xc
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x248], ecx
cmp esi, dword [ebp - 0x250]
jb 0x53edb6
cmp byte [edx + 4], 0
jne 0x54065f
mov eax, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x24c]
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x21c], edi
mov edi, dword [ebp - 0x23c]
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x218], esi
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x1c0], 0
nop
cmp byte [edx + 4], 0
jne 0x53f3c6
push 0
push 0
push 0x104
lea ecx, [ebp - 0x2c]
call fcn.005162e0
mov eax, dword [ebp - 0x1c0]
test eax, eax
jne 0x53f346
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
push 0
push 0
push 0x19
jmp 0x53f370
cmp eax, 1
jne 0x53f35c
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
push 0
push 0
push 0x1f
jmp 0x53f370
cmp eax, 2
jne 0x53f37c
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
push 0
push 0
push 0x16
push 0
call dword [0x5cd5d8]
test eax, eax
jne 0x53f3aa
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
mov ecx, edi
call fcn.0053bef0
mov edx, dword [ebp - 0x22c]
test al, al
movzx ecx, al
sete al
mov byte [edx + 4], al
test ecx, ecx
je 0x53f3c6
jmp 0x53f3b0
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x1c0]
inc eax
mov dword [ebp - 0x1c0], eax
cmp eax, 3
jb 0x53f310
mov al, byte [edx + 4]
mov edi, dword [ebp - 0x1c8]
test al, al
jne 0x54065f
cmp dword [ebp - 0x1bc], 0
je 0x53f98d
xorps xmm0, xmm0
mov dword [ebp - 0x174], 0
lea ecx, [ebp - 0x17c]
movq qword [ebp - 0x17c], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x16c]
xorps xmm0, xmm0
mov dword [ebp - 0x164], 0
movq qword [ebp - 0x16c], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x15c]
xorps xmm0, xmm0
mov dword [ebp - 0x154], 0
movq qword [ebp - 0x15c], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x64]
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
movq qword [ebp - 0x64], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xc4]
xorps xmm0, xmm0
mov dword [ebp - 0xbc], 0
movq qword [ebp - 0xc4], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x124]
xorps xmm0, xmm0
mov dword [ebp - 0x11c], 0
movq qword [ebp - 0x124], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x104]
xorps xmm0, xmm0
mov dword [ebp - 0xfc], 0
movq qword [ebp - 0x104], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x114]
xorps xmm0, xmm0
mov dword [ebp - 0x10c], 0
movq qword [ebp - 0x114], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xf4]
xorps xmm0, xmm0
mov dword [ebp - 0xec], 0
movq qword [ebp - 0xf4], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x8c]
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
movq qword [ebp - 0x8c], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x80]
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
movq qword [ebp - 0x80], xmm0
call fcn.00516ef0
lea eax, [ebp - 0x1b8]
mov byte [ebp - 4], 0x28
push eax
mov dword [ebp - 0x1b8], 0x80
push 0
push 0
push 0x80
lea ecx, [ebp - 0xc4]
call fcn.005162e0
push eax
call dword [0x5cd0cc]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0xc4]
call fcn.00516ab0
lea edx, [ebp - 0x124]
mov ecx, eax
call fcn.004cf5a0
push 0
push 0
push 0x104
lea ecx, [ebp - 0x104]
call fcn.005162e0
push eax
push 0
push 0
push 0xb
push 0
call dword [0x5cd5d8]
lea ecx, [ebp - 0x64]
call fcn.00516cc0
push eax
lea ecx, [ebp - 0x104]
call fcn.00515800
push 0
push 0
push 0x104
lea ecx, [ebp - 0x114]
call fcn.005162e0
push eax
push 0
push 0
push 0x10
push 0
call dword [0x5cd5d8]
lea ecx, [ebp - 0x64]
call fcn.00516cc0
push eax
lea ecx, [ebp - 0x114]
call fcn.00515800
push 0
push 0
push 0x104
lea ecx, [ebp - 0xf4]
call fcn.005162e0
push eax
push 0
push 0
push 8
push 0
call dword [0x5cd5d8]
lea ecx, [ebp - 0x64]
call fcn.00516cc0
push eax
lea ecx, [ebp - 0xf4]
call fcn.00515800
push 0
push 0
push 0x104
lea ecx, [ebp - 0x8c]
call fcn.005162e0
push eax
push 0
push 0
push 6
push 0
call dword [0x5cd5d8]
lea ecx, [ebp - 0x64]
call fcn.00516cc0
push eax
lea ecx, [ebp - 0x8c]
call fcn.00515800
push 0
push 0
push 0x104
lea ecx, [ebp - 0x80]
call fcn.005162e0
push eax
push 0
push 0
push 0x1a
push 0
call dword [0x5cd5d8]
lea ecx, [ebp - 0x64]
call fcn.00516cc0
push eax
lea ecx, [ebp - 0x80]
call fcn.00515800
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x5fe858
lea ecx, [ebp - 0x80]
call fcn.00515270
cmp dword [ebp - 0x1bc], 0
mov dword [ebp - 0x248], 0
jbe 0x53f905
mov esi, dword [ebp - 0x22c]
xor edi, edi
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x104]
call fcn.00516ab0
mov ecx, dword [ebp - 0x1dc]
push eax
lea ecx, [ecx + edi]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x64]
call fcn.00516b20
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x64]
call fcn.00516ab0
mov ecx, dword [ebp - 0x23c]
push eax
call fcn.0053bef0
test al, al
movzx ecx, al
sete al
mov byte [esi + 4], al
test ecx, ecx
je 0x53f8ff
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x114]
call fcn.00516ab0
mov ecx, dword [ebp - 0x1dc]
push eax
lea ecx, [ecx + edi]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x64]
call fcn.00516b20
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x64]
call fcn.00516ab0
mov ecx, dword [ebp - 0x23c]
push eax
call fcn.0053bef0
test al, al
movzx ecx, al
sete al
mov byte [esi + 4], al
test ecx, ecx
je 0x53f8ff
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0xf4]
call fcn.00516ab0
mov ecx, dword [ebp - 0x1dc]
push eax
lea ecx, [ecx + edi]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x64]
call fcn.00516b20
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x64]
call fcn.00516ab0
mov ecx, dword [ebp - 0x23c]
push eax
call fcn.0053bef0
test al, al
movzx ecx, al
sete al
mov byte [esi + 4], al
test ecx, ecx
je 0x53f8ff
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x8c]
call fcn.00516ab0
mov ecx, dword [ebp - 0x1dc]
push eax
lea ecx, [ecx + edi]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x64]
call fcn.00516b20
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x64]
call fcn.00516ab0
mov ecx, dword [ebp - 0x23c]
push eax
call fcn.0053bef0
test al, al
movzx ecx, al
sete al
mov byte [esi + 4], al
test ecx, ecx
je 0x53f8ff
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x80]
call fcn.00516ab0
mov ecx, dword [ebp - 0x1dc]
push eax
lea ecx, [ecx + edi]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x64]
call fcn.00516b20
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x64]
call fcn.00516ab0
mov ecx, dword [ebp - 0x23c]
push eax
call fcn.0053bef0
test al, al
movzx ecx, al
sete al
mov byte [esi + 4], al
test ecx, ecx
je 0x53f8ff
mov eax, dword [ebp - 0x248]
add edi, 0xc
inc eax
mov dword [ebp - 0x248], eax
cmp eax, dword [ebp - 0x1bc]
jb 0x53f6f5
mov edi, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x80]
call fcn.00516d50
lea ecx, [ebp - 0x8c]
call fcn.00516d50
lea ecx, [ebp - 0xf4]
call fcn.00516d50
lea ecx, [ebp - 0x114]
call fcn.00516d50
lea ecx, [ebp - 0x104]
call fcn.00516d50
lea ecx, [ebp - 0x124]
call fcn.00516d50
lea ecx, [ebp - 0xc4]
call fcn.00516d50
lea ecx, [ebp - 0x64]
call fcn.00516d50
lea ecx, [ebp - 0x15c]
call fcn.00516d50
lea ecx, [ebp - 0x16c]
call fcn.00516d50
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0x1d
call fcn.00516d50
mov edx, dword [ebp - 0x22c]
mov al, byte [edx + 4]
test al, al
jne 0x54065f
xor ecx, ecx
mov dword [ebp - 0xc4], 0x5fecc8
mov dword [ebp - 0xc0], 0x5fecd0
mov dword [ebp - 0xbc], 0x5fece0
mov dword [ebp - 0x1c0], ecx
cmp dword [ebp - 0x250], ecx
jbe 0x53fc66
mov dword [ebp - 0x3c], ecx
test al, al
jne 0x54065f
mov esi, dword [ebp - 0x1bc]
inc esi
cmp ecx, esi
mov esi, dword [ebp - 0x238]
jne 0x53f9e7
cmp byte [ebp - 0x231], al
je 0x53fc66
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
nop
mov al, byte [edx + 4]
test al, al
jne 0x53fc49
mov eax, dword [ebp - 0x1c0]
cmp eax, dword [ebp - 0x1bc]
jae 0x53fa3b
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + ecx*4 - 0xc4]
mov ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x1d8]
push 0x5fec18
call fcn.00516ab0
push eax
push str.HKU_
jmp 0x53fa90
jne 0x53fa5f
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + ecx*4 - 0xc4]
push 0x636b18
jmp 0x53fa90
mov edx, dword [ebp - 0x1bc]
mov edi, dword [ebp - 0x1c8]
inc edx
cmp eax, edx
jne 0x53fa98
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + ecx*4 - 0xc4]
push 0x636a00
lea ecx, [ebp - 0x2c]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.005116f0
test al, al
je 0x53fc2a
lea eax, [ebp - 0x1d4]
mov dword [ebp - 0x248], 0
push eax
push 0
lea ecx, [ebp - 0x18]
call fcn.00511000
test al, al
je 0x53fc2a
nop dword [eax + eax]
mov eax, dword [ebp - 0x1d0]
cmp eax, 1
je 0x53faf4
cmp eax, 2
jne 0x53fc05
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x18]
call fcn.00511410
test al, al
je 0x53fc05
lea ecx, [ebp - 0x58]
call fcn.005167b0
test al, al
jne 0x53fc05
cmp dword [ebp - 0x1d0], 2
jne 0x53fb31
push 0
lea ecx, [ebp - 0x58]
call fcn.00516530
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53fc05
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x230], ecx
nop dword [eax]
cmp dword [esi + eax*4], 0
je 0x53fb8b
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53fb85
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x58]
call fcn.00515510
test eax, eax
jne 0x53fba1
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53fb50
jmp 0x53fc05
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.00516ab0
push eax
push 0x657278
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x5f6828
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov eax, dword [ebp - 0x248]
lea ecx, [ebp - 0x1d4]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x248], eax
call fcn.00511000
test al, al
jne 0x53fae0
mov ecx, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x22c]
inc ecx
mov dword [ebp - 0x1b8], ecx
cmp ecx, 3
jb 0x53f9f0
mov al, byte [edx + 4]
mov ecx, dword [ebp - 0x1c0]
add dword [ebp - 0x3c], 0xc
inc ecx
mov dword [ebp - 0x1c0], ecx
cmp ecx, dword [ebp - 0x250]
jb 0x53f9c2
test al, al
jne 0x54065f
cmp dword [ebp - 0x1bc], 0
mov cl, al
mov esi, dword [ebp - 0x238]
je 0x53fe98
mov edi, dword [ebp - 0x1c8]
mov dword [ebp - 0x1c0], 0
jbe 0x53fe98
mov dword [ebp - 0x250], 0
mov cl, al
test cl, cl
jne 0x54065f
xor eax, eax
mov dword [ebp - 0x1b8], eax
mov cl, byte [edx + 4]
test cl, cl
jne 0x53fe71
mov ecx, dword [ebp - 0x250]
add ecx, dword [ebp - 0x1d8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
cmp eax, 1
jne 0x53fcea
push 0x6228d8
jmp 0x53fcef
push 0x622940
call fcn.00516ab0
push eax
push str.HKU_
lea ecx, [ebp - 0x2c]
call fcn.00516b20
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x18]
call fcn.005116f0
mov edx, dword [ebp - 0x22c]
test al, al
je 0x53fe58
xor eax, eax
mov dword [ebp - 0x248], eax
cmp byte [edx + 4], al
jne 0x53fe58
nop dword [eax]
lea ecx, [ebp - 0x1d4]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.00511000
test al, al
je 0x53fe52
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x38]
call fcn.00516e30
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x53fe33
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x53fdbd
call fcn.00516cc0
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x53fdb7
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x38]
call fcn.00515510
test eax, eax
jne 0x53fdd3
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x1b4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x230], ecx
cmp eax, edi
jb 0x53fd82
jmp 0x53fe33
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65e8c8
lea ecx, [ebp - 0x38]
call fcn.00516ab0
push eax
push 0x5f6828
lea ecx, [ebp - 0x2c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x248]
inc eax
mov dword [ebp - 0x248], eax
cmp byte [edx + 4], 0
je 0x53fd40
jmp 0x53fe58
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x1b8]
inc eax
mov dword [ebp - 0x1b8], eax
cmp eax, 2
jb 0x53fcb5
mov cl, byte [edx + 4]
mov edi, dword [ebp - 0x1bc]
mov al, cl
inc dword [ebp - 0x1c0]
add dword [ebp - 0x250], 0xc
cmp dword [ebp - 0x1c0], edi
mov edi, dword [ebp - 0x1c8]
jb 0x53fca3
test cl, cl
jne 0x54065f
xorps xmm0, xmm0
mov dword [ebp - 0xd8], 0
lea ecx, [ebp - 0xe0]
movq qword [ebp - 0xe0], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x29
call fcn.005133c0
movsd xmm1, qword [0x6a40a0]
lea ecx, [ebp - 0xe0]
comisd xmm1, xmm0
push 0x104
push 0
push 0
push 0x104
jbe 0x5402f4
call fcn.005162e0
push eax
call dword [0x5cd404]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6051c4
lea ecx, [ebp - 0xe0]
call fcn.00515270
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
lea ecx, [ebp - 0x8c]
movq qword [ebp - 0x8c], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x64]
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
movq qword [ebp - 0x64], xmm0
call fcn.00516ef0
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x80]
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
movq qword [ebp - 0x80], xmm0
call fcn.00516ef0
mov dword [ebp - 0x1c8], 0
lea eax, [ebp - 0x1c8]
push eax
push 0x5f38c4
push 1
push 0
push 0x5f21fc
call dword [0x5cda74]
test eax, eax
jns 0x53ffa9
mov byte [ebp - 4], 0x2e
jmp 0x5402c0
mov dword [ebp - 0x1b4], 0
mov byte [ebp - 4], 0x2f
lea edx, [ebp - 0x1b4]
mov eax, dword [ebp - 0x1c8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
test eax, eax
jns 0x53ffeb
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x1b4]
test eax, eax
je 0x53ffe2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x31
jmp 0x5402c0
mov eax, dword [ebp - 0x1b4]
lea edx, [ebp - 0x3c]
push edx
lea edx, [ebp - 0x1c0]
mov dword [ebp - 0x3c], 0
push edx
mov ecx, dword [eax]
push 5
push eax
call dword [ecx + 0xc]
test eax, eax
js 0x5402a8
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x5402a8
xor esi, esi
mov dword [ebp - 0x248], esi
test eax, eax
je 0x54027b
nop
mov eax, dword [ebp - 0x22c]
cmp byte [eax + 4], 0
jne 0x54027b
mov eax, dword [ebp - 0x1c0]
lea ecx, [ebp - 0x8c]
push dword [eax + esi*4]
call fcn.00516e30
mov eax, dword [ebp - 0x1c0]
push dword [eax + esi*4]
call dword [0x5cda78]
mov dword [ebp - 0x1bc], 0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x8c]
mov eax, dword [ebp - 0x1c8]
mov esi, dword [eax]
lea eax, [ebp - 0x1bc]
push eax
push 0x5fa2f0
call fcn.00516ab0
push eax
push dword [ebp - 0x1c8]
call dword [esi + 0x18]
test eax, eax
jns 0x5400a7
mov byte [ebp - 4], 0x33
jmp 0x540251
mov eax, dword [ebp - 0x1bc]
lea edx, [ebp - 0x1c4]
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1b8], 0
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x84]
mov eax, dword [ebp - 0x1bc]
lea edx, [ebp - 0x1b8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x8c]
push dword [ebp - 0x1c4]
lea ecx, [ebp - 0x64]
call fcn.00516e30
push dword [ebp - 0x1b8]
lea ecx, [ebp - 0x80]
call fcn.00516e30
mov eax, dword [ebp - 0x1c4]
mov esi, dword [0x5cda78]
test eax, eax
je 0x540116
push eax
call esi
mov eax, dword [ebp - 0x1b8]
test eax, eax
je 0x540123
push eax
call esi
lea ecx, [ebp - 0x80]
call fcn.00516cc0
test eax, eax
je 0x540159
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x80]
call fcn.00516ab0
push eax
push 0x5eff2c
lea ecx, [ebp - 0x64]
call fcn.00515270
push 0
lea ecx, [ebp - 0x64]
call fcn.00516530
push 4
lea ecx, [ebp - 0x8c]
call fcn.00515870
xor eax, eax
mov dword [ebp - 0x230], eax
test edi, edi
je 0x54024d
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x250], ecx
cmp dword [esi + eax*4], 0
je 0x5401cd
call fcn.00516cc0
mov ecx, dword [ebp - 0x250]
test eax, eax
je 0x5401c7
push 0
push 1
push 1
push 0
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x64]
call fcn.00515510
test eax, eax
jne 0x5401e3
mov ecx, dword [ebp - 0x250]
mov eax, dword [ebp - 0x230]
inc eax
add ecx, 0xc
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x250], ecx
cmp eax, edi
jb 0x540192
jmp 0x54024d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x64]
call fcn.00516ab0
push eax
push 0x657278
lea ecx, [ebp - 0x8c]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0xe0]
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x230]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push esi
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x1bc]
test eax, eax
je 0x540261
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x2f
mov esi, dword [ebp - 0x248]
inc esi
mov dword [ebp - 0x248], esi
cmp esi, dword [ebp - 0x3c]
jb 0x540030
push dword [ebp - 0x1c0]
call dword [0x5cda78]
mov eax, dword [ebp - 0x1b4]
lea edx, [ebp - 0x3c]
push edx
lea edx, [ebp - 0x1c0]
push edx
mov ecx, dword [eax]
push 5
push eax
call dword [ecx + 0xc]
test eax, eax
jns 0x540013
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x1b4]
test eax, eax
je 0x5402bc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x1c8]
test eax, eax
je 0x5402d0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x80]
call fcn.00516d50
lea ecx, [ebp - 0x64]
call fcn.00516d50
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x29
call fcn.00516d50
jmp 0x54052d
call fcn.005162e0
push eax
call dword [0x5cd464]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x5fa864
lea ecx, [ebp - 0xe0]
call fcn.00515270
mov dword [ebp - 0x1bc], 0
lea eax, [ebp - 0x1bc]
push eax
push 0x5e78ec
push 1
push 0
push 0x5e7afc
call dword [0x5cda74]
test eax, eax
jns 0x54036c
mov byte [ebp - 4], 0x38
mov eax, dword [ebp - 0x1bc]
test eax, eax
je 0x540363
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x29
jmp 0x54052d
mov esi, dword [0x5cd558]
lea eax, [ebp - 0x128]
push eax
call esi
movups xmm0, xmmword [ebp - 0x128]
lea eax, [ebp - 0x160]
push eax
movups xmmword [ebp - 0xc8], xmm0
call esi
movups xmm0, xmmword [ebp - 0x160]
lea eax, [ebp - 0x170]
push eax
movups xmmword [ebp - 0x108], xmm0
call esi
movups xmm0, xmmword [ebp - 0x170]
lea eax, [ebp - 0x180]
push eax
movups xmmword [ebp - 0x118], xmm0
call esi
mov byte [ebp - 4], 0x3c
sub esp, 0x10
movups xmm0, xmmword [ebp - 0xc8]
mov eax, dword [ebp - 0x1bc]
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x108]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x118]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [ebp - 0x180]
push eax
movups xmmword [ecx], xmm0
call dword [edx + 0x28]
mov esi, dword [0x5cd55c]
mov edi, eax
lea eax, [ebp - 0x180]
push eax
call esi
lea eax, [ebp - 0x170]
push eax
call esi
lea eax, [ebp - 0x160]
push eax
call esi
lea eax, [ebp - 0x128]
push eax
call esi
test edi, edi
jns 0x540445
mov byte [ebp - 4], 0x3d
jmp 0x540513
mov dword [ebp - 0x1c0], 0
push 0x5ed514
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x3e
call fcn.00401ae0
mov byte [ebp - 4], 0x3f
mov eax, dword [eax]
test eax, eax
je 0x540471
mov edx, dword [eax]
jmp 0x540473
xor edx, edx
mov eax, dword [ebp - 0x1bc]
lea esi, [ebp - 0x1c0]
push esi
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x248]
sets al
mov byte [ebp - 0x231], al
test ecx, ecx
je 0x5404ab
call fcn.00401c10
mov al, byte [ebp - 0x231]
test al, al
je 0x5404c9
mov byte [ebp - 4], 0x40
mov eax, dword [ebp - 0x1c0]
test eax, eax
je 0x5404c3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x41
jmp 0x540513
lea ecx, [ebp - 0xe0]
call fcn.00516ab0
mov ecx, dword [ebp - 0x23c]
push eax
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x1c0]
call fcn.0053c2c0
mov ecx, dword [ebp - 0x22c]
test al, al
sete al
mov byte [ecx + 4], al
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0x1c0]
test eax, eax
je 0x54050f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0x1bc]
test eax, eax
je 0x540523
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x29
mov edi, dword [ebp - 0x1c8]
call dword [0x5cda70]
mov eax, dword [ebp - 0x22c]
cmp byte [eax + 4], 0
je 0x540552
lea ecx, [ebp - 0xe0]
or esi, 0xffffffff
call fcn.00516d50
jmp 0x540662
xor cl, cl
mov dword [ebp - 0x1b8], 0
test edi, edi
je 0x54063c
mov esi, dword [ebp - 0x240]
nop dword [eax]
mov ecx, esi
call fcn.00516cc0
test eax, eax
je 0x54061b
mov ecx, esi
call fcn.00516ab0
push eax
call dword [0x5cd624]
test eax, eax
je 0x54061b
push 4
push 0
mov ecx, esi
call fcn.00516ab0
mov ecx, eax
call fcn.00506540
push edx
push eax
lea ecx, [ebp - 0xd4]
call fcn.00515950
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x5ed62c
lea ecx, [ebp - 0xd4]
call fcn.00516ab0
push eax
push 0x65e8f4
mov ecx, esi
call fcn.00516ab0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00516b20
mov ecx, dword [ebp - 0x23c]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1b8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x24c]
push dword [ebp - 0x238]
push dword [ebp - 0x244]
push eax
push dword [ebp - 0x22c]
call fcn.0053bda0
mov eax, dword [ebp - 0x1b8]
add esi, 0xc
inc eax
mov dword [ebp - 0x1b8], eax
cmp eax, edi
jb 0x540570
mov eax, dword [ebp - 0x22c]
mov cl, byte [eax + 4]
xor eax, eax
test cl, cl
lea ecx, [ebp - 0xe0]
sete al
lea eax, [eax*2 - 1]
mov dword [ebp - 0x248], eax
mov esi, eax
call fcn.00516d50
jmp 0x540662
or esi, 0xffffffff
mov ecx, dword [ebp - 0x254]
test ecx, ecx
je 0x540673
push 3
call fcn.00401e50
mov ecx, dword [ebp - 0x1ec]
test ecx, ecx
je 0x540684
push 3
call fcn.00401e50
mov ecx, dword [ebp - 0xe8]
test ecx, ecx
je 0x54069a
push 3
call fcn.00401e50
jmp 0x54069a
or esi, 0xffffffff
lea ecx, [ebp - 0x20c]
call fcn.00511770
lea ecx, [ebp - 0x1e8]
call fcn.00511770
lea ecx, [ebp - 0x1fc]
call fcn.00511770
lea ecx, [ebp - 0x58]
call fcn.00516d50
lea ecx, [ebp - 0xd4]
call fcn.00516d50
lea ecx, [ebp - 0x4c]
call fcn.00516d50
lea ecx, [ebp - 0x38]
call fcn.00516d50
lea ecx, [ebp - 0x14c]
call fcn.00516d50
lea ecx, [ebp - 0xb4]
call fcn.00516d50
lea ecx, [ebp - 0xa8]
call fcn.00516d50
lea ecx, [ebp - 0x98]
call fcn.00516d50
lea ecx, [ebp - 0x74]
call fcn.00516d50
lea ecx, [ebp - 0x9c]
call fcn.005116a0
lea ecx, [ebp - 0x68]
call fcn.005116a0
lea ecx, [ebp - 0x40]
call fcn.005116a0
mov eax, dword [ebp - 0x24c]
test eax, eax
je 0x540740
push eax
call fcn.0041e876
add esp, 4
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x540753
push eax
call fcn.0041e876
add esp, 4
mov eax, dword [ebp - 0x244]
test eax, eax
je 0x540766
push 3
mov ecx, eax
call fcn.00401e50
mov eax, dword [ebp - 0x240]
test eax, eax
je 0x540779
push 3
mov ecx, eax
call fcn.00401e50
lea ecx, [ebp - 0x140]
call fcn.00516d50
lea ecx, [ebp - 0x134]
call fcn.00516d50
lea ecx, [ebp - 0x1d4]
call fcn.00511770
lea ecx, [ebp - 0x1c]
call fcn.005116a0
lea ecx, [ebp - 0x18]
call fcn.005116a0
lea ecx, [ebp - 0x2c]
call fcn.00516d50
mov eax, esi
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.0041e865
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4