Function at 0x545780
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 0x5d8036
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x244
mov eax, dword [0x6dd1e4]
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.00487c90
test al, al
jne 0x5457e2
xor eax, eax
jmp 0x549554
mov eax, dword [edi + 0x14d4]
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.0051e150
push 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2c]
push 0x20019
mov dword [ebp - 0x18], 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518860
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.00518880
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.005187e0
test eax, eax
jne 0x545859
xor esi, esi
jmp 0x54953a
xorps xmm0, xmm0
mov dword [ebp - 0x1cc], 0
lea ecx, [ebp - 0x1d4]
movq qword [ebp - 0x1d4], xmm0
call fcn.005188a0
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.00518070
mov esi, eax
mov dword [ebp - 0x1c0], esi
test esi, esi
je 0x54952f
call fcn.005098e0
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.0041eeca
add esp, 4
mov dword [ebp - 0x254], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x5458fb
push fcn.0051dfd0
push fcn.0051e180
push esi
lea edi, [eax + 4]
mov dword [eax], esi
push 0xc
push edi
mov dword [ebp - 0x240], edi
call fcn.0041eeff
jmp 0x545905
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.0051e180
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.0041eeca
add esp, 4
mov dword [ebp - 0x254], eax
mov byte [ebp - 4], 6
test eax, eax
je 0x545988
push fcn.0051dfd0
push fcn.0051e180
push esi
mov dword [eax], esi
add eax, 4
push 0xc
push eax
mov dword [ebp - 0x244], eax
call fcn.0041eeff
jmp 0x545992
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.0051e180
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.0041eeca
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.0041eeca
add esp, 4
shl esi, 2
mov dword [ebp - 0x24c], eax
push esi
push 0
push edi
call fcn.00420580
add esp, 0xc
push esi
mov esi, dword [ebp - 0x24c]
push 0
push esi
call fcn.00420580
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 [0x5dea68]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], 0
call fcn.00518880
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], 0
call fcn.00518880
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x9c], 0
call fcn.00518880
mov eax, dword [ebp - 0x22c]
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x1b4]
push dword [eax + 0x14]
call fcn.004fcac0
mov esi, eax
push 1
push dword [ebp - 0x1c0]
push 0x21
push 0x12
push 0x12
call dword [0x5de184]
push eax
push 0
push 0x1109
push esi
call dword [0x5de7fc]
xor edi, edi
mov dword [ebp - 0x1c8], edi
cmp dword [ebp - 0x1c0], edi
jbe 0x545cb5
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.00518170
test al, al
je 0x545caf
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 0x5fe504
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x140]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x140]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x1c]
call fcn.00518810
mov eax, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x1c]
mov edx, dword [ebp - 0x248]
add eax, edx
push eax
push 0x615af4
call fcn.00518530
push dword [ebp - 0x1c8]
lea ecx, [ebp - 0x1c]
push 0x609be8
call fcn.00518530
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 0x674bd8
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x134]
call fcn.0051dda0
mov eax, dword [ebp - 0x22c]
lea ecx, [ebp - 0x134]
push dword [eax + 0x14]
push 0xffffffffffffffff
push 0
push 0
call fcn.0051dd30
mov ecx, dword [ebp - 0x1b4]
push eax
call fcn.004f1ca0
mov dword [esi + edi*4], eax
lea ecx, [ebp - 0x1c]
lea eax, [ebp - 0x1f0]
xorps xmm0, xmm0
push eax
push 0x671f18
movlpd qword [ebp - 0x1f0], xmm0
call fcn.00518410
test al, al
je 0x545c67
mov ecx, dword [ebp - 0x1f0]
mov eax, ecx
or eax, dword [ebp - 0x1ec]
je 0x545c67
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.004f16b0
push dword [ebp - 0x1f0]
call dword [0x5de79c]
jmp 0x545c9b
push 3
push ecx
mov ecx, dword [ebp - 0x23c]
push 0
push 0x14
push 0x14
push 0xa7
call fcn.00477830
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.004f1480
add dword [ebp - 0x1c8], 0xc
inc edi
cmp edi, dword [ebp - 0x1c0]
jb 0x545b20
mov dword [ebp - 0x1c8], edi
xorps xmm0, xmm0
mov dword [ebp - 0x6c], 0
lea ecx, [ebp - 0x74]
movq qword [ebp - 0x74], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x98]
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
movq qword [ebp - 0x98], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xa8]
xorps xmm0, xmm0
mov dword [ebp - 0xa0], 0
movq qword [ebp - 0xa8], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0xb4]
xorps xmm0, xmm0
mov dword [ebp - 0xac], 0
movq qword [ebp - 0xb4], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x14c]
xorps xmm0, xmm0
mov dword [ebp - 0x144], 0
movq qword [ebp - 0x14c], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x38]
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
movq qword [ebp - 0x38], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x4c]
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
movq qword [ebp - 0x4c], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xd4]
xorps xmm0, xmm0
mov dword [ebp - 0xcc], 0
movq qword [ebp - 0xd4], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x58]
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
movq qword [ebp - 0x58], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1fc]
xorps xmm0, xmm0
mov dword [ebp - 0x1f4], 0
movq qword [ebp - 0x1fc], xmm0
call fcn.005188a0
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1e8]
xorps xmm0, xmm0
mov dword [ebp - 0x1e0], 0
movq qword [ebp - 0x1e8], xmm0
call fcn.005188a0
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x20c]
xorps xmm0, xmm0
mov dword [ebp - 0x204], 0
movq qword [ebp - 0x20c], xmm0
call fcn.005188a0
mov ecx, dword [ebp - 0x23c]
push 0x674be8
mov byte [ebp - 4], 0x1a
push 0xffffffffffffffff
lea ecx, [ecx + 0x14e0]
mov dword [ebp - 0x20], 0
call fcn.004ee190
xor ecx, ecx
mov esi, 0x66f308
mov dword [ebp - 0x3c], ecx
nop word [eax + eax]
cmp ecx, 1
jne 0x545e83
mov dl, byte [ebp - 0x231]
test dl, dl
je 0x5460d0
cmp ecx, 1
mov eax, 0x66f2d8
lea ecx, [ebp - 0x2c]
cmovne eax, esi
push eax
call fcn.0051e0b0
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518810
test al, al
je 0x5460ba
mov esi, dword [ebp - 0x22c]
mov eax, 1
mov dword [ebp - 0x1c0], eax
cmp byte [esi + 4], 0
jne 0x5460b5
lea ecx, [ebp - 0x1d4]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.00518170
test al, al
je 0x5460b5
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 0x5fe504
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x74]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x1c]
call fcn.00518810
lea ecx, [ebp - 0x1c]
call fcn.00518070
mov dword [ebp - 0x248], eax
test eax, eax
je 0x54609e
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1c4], 0
push eax
push 0
lea ecx, [ebp - 0x1c]
call fcn.00518170
test al, al
je 0x54609e
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 0x5fe504
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x98]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x98]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x40]
call fcn.00518810
lea eax, [ebp - 0x38]
push eax
push 0x5fe50c
lea ecx, [ebp - 0x40]
call fcn.00518530
test al, al
je 0x546079
lea ecx, [ebp - 0x38]
call fcn.0051da30
test al, al
jne 0x546079
lea ecx, [ebp - 0x38]
call fcn.00516400
test al, al
jne 0x546079
push 0
lea ecx, [ebp - 0x38]
call fcn.0051d7b0
xor eax, eax
mov dword [ebp - 0x1bc], eax
test edi, edi
je 0x546079
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 0x54605f
call fcn.0051df40
mov ecx, dword [ebp - 0x1b4]
test eax, eax
je 0x546059
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x38]
call fcn.0051c760
test eax, eax
jne 0x54633e
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 0x546020
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.00518170
test al, al
jne 0x545f70
mov eax, dword [ebp - 0x1c0]
inc eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x1c0], eax
je 0x545ed2
mov esi, 0x66f308
mov ecx, dword [ebp - 0x3c]
inc ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 2
jb 0x545e70
mov dl, byte [ebp - 0x231]
mov eax, dword [ebp - 0x22c]
cmp byte [eax + 4], 0
jne 0x549437
xor esi, esi
mov ecx, str.HKCR
mov dword [ebp - 0x1bc], esi
nop dword [eax]
cmp esi, 1
jne 0x5460fd
test dl, dl
je 0x546a60
cmp byte [eax + 4], 0
jne 0x549437
cmp esi, 1
mov eax, 0x60fd64
cmovne eax, ecx
lea ecx, [ebp - 0x2c]
push eax
call fcn.0051e0b0
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518810
test al, al
mov eax, dword [ebp - 0x22c]
je 0x546a45
xor ecx, ecx
mov dword [ebp - 0x1c0], ecx
cmp byte [eax + 4], cl
jne 0x546a45
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.00518170
test al, al
je 0x546a3f
mov eax, dword [ebp - 0x1d4]
cmp word [eax], 0x2e
je 0x546a1a
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 0x5fe504
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x98]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x98]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x1c]
call fcn.00518810
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x60fd88
lea ecx, [ebp - 0x98]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0xa8]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0xa8]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x40]
call fcn.00518810
test al, al
je 0x5465c5
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1b8], 0
push eax
push 0
lea ecx, [ebp - 0x40]
call fcn.00518170
test al, al
je 0x5465c5
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 0x5fe504
call fcn.0051dd30
push eax
lea ecx, [ebp - 0xb4]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0xb4]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x68]
call fcn.00518810
test al, al
je 0x54641d
lea eax, [ebp - 0x38]
push eax
push 0x60b11c
lea ecx, [ebp - 0x68]
call fcn.00518530
test al, al
je 0x54641d
lea ecx, [ebp - 0x38]
call fcn.0051df40
cmp eax, 4
jle 0x54641d
push esi
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.00516480
mov esi, dword [ebp - 0x238]
xor eax, eax
mov dword [ebp - 0x230], eax
test edi, edi
je 0x546423
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x1b4], ecx
cmp dword [esi + eax*4], 0
je 0x546325
call fcn.0051df40
mov ecx, dword [ebp - 0x1b4]
test eax, eax
je 0x54631f
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x58]
call fcn.0051c760
test eax, eax
jne 0x5463bb
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 0x5462e6
jmp 0x546423
cmp dword [ebp - 0x248], 1
lea ecx, [ebp - 0x98]
ja 0x546350
lea ecx, [ebp - 0x74]
call fcn.0051dd30
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.0051dd30
push eax
push 0x66d5a8
push dword [ebp - 0x1b8]
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
jmp 0x546079
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.0051dd30
push eax
push 0x66f71c
lea ecx, [ebp - 0xb4]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
jmp 0x546423
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.0051c4c0
push 0
push 0x20019
lea ecx, [ebp - 0xb4]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x68]
call fcn.00518810
lea eax, [ebp - 0x38]
push eax
push 0x5fe50c
lea ecx, [ebp - 0x68]
call fcn.00518530
test al, al
je 0x54659a
lea ecx, [ebp - 0x38]
call fcn.0051df40
cmp eax, 3
jle 0x54659a
push 3
push 1
push 1
push 1
push 0x601a58
lea ecx, [ebp - 0x38]
call fcn.0051c760
cmp eax, 1
je 0x54659a
cmp eax, 2
je 0x54659a
push dword [ebp - 0x1bc]
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.00516480
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x54659a
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x54651d
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x546517
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x58]
call fcn.0051c760
test eax, eax
jne 0x546533
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 0x5464e2
jmp 0x54659a
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.0051dd30
push eax
push 0x66d5a8
push dword [ebp - 0x1e8]
lea ecx, [ebp - 0xa8]
push 0x5fe504
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
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.00518170
mov esi, dword [ebp - 0x1bc]
test al, al
jne 0x546237
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.0051dd30
push eax
lea ecx, [ebp - 0xa8]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0xa8]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x40]
call fcn.00518810
lea eax, [ebp - 0x38]
push eax
push 0x5fe50c
lea ecx, [ebp - 0x40]
call fcn.00518530
test al, al
je 0x546767
lea ecx, [ebp - 0x38]
call fcn.0051df40
cmp eax, 3
jle 0x546767
lea ecx, [ebp - 0x38]
call fcn.0051df40
test eax, eax
je 0x54665a
push 1
lea ecx, [ebp - 0x38]
call fcn.0051dfe0
cmp word [eax], 0x7b
je 0x546767
push 4
push 1
push 1
push 1
push 0x601a58
lea ecx, [ebp - 0x38]
call fcn.0051c760
cmp eax, 1
je 0x546767
cmp eax, 2
je 0x546767
push esi
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.00516480
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x546767
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
nop
cmp dword [esi + eax*4], 0
je 0x5466eb
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x5466e5
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x58]
call fcn.0051c760
test eax, eax
jne 0x546701
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 0x5466b0
jmp 0x546761
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.0051dd30
push eax
push 0x66d5a8
lea ecx, [ebp - 0xa8]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
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 0x66f998
lea ecx, [ebp - 0x98]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0xa8]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0xa8]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x40]
call fcn.00518810
test al, al
je 0x546a1a
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1c4], 0
push eax
push 0
lea ecx, [ebp - 0x40]
call fcn.00518170
test al, al
je 0x546a1a
nop dword [eax]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x60fd88
push dword [ebp - 0x1e8]
lea ecx, [ebp - 0xa8]
push 0x5fe504
call fcn.0051dd30
push eax
lea ecx, [ebp - 0xb4]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0xb4]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x68]
call fcn.00518810
test al, al
je 0x5469ef
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x1b8], 0
push eax
push 0
lea ecx, [ebp - 0x68]
call fcn.00518170
test al, al
je 0x5469ef
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 0x5fe504
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x14c]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x14c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x9c]
call fcn.00518810
test al, al
je 0x5469c4
lea eax, [ebp - 0x38]
push eax
push 0x5fe50c
lea ecx, [ebp - 0x9c]
call fcn.00518530
test al, al
je 0x5469c4
lea ecx, [ebp - 0x38]
call fcn.0051df40
cmp eax, 4
jl 0x5469c4
push esi
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.00516480
xor esi, esi
test edi, edi
je 0x5469c4
mov ecx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
cmp dword [eax + esi*4], 0
je 0x54694d
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x546947
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x58]
call fcn.0051c760
test eax, eax
jne 0x54695d
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x238]
inc esi
add ecx, 0xc
mov dword [ebp - 0x230], ecx
cmp esi, edi
jb 0x546912
jmp 0x5469c4
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.0051dd30
push eax
push 0x66d5a8
push dword [ebp - 0x20c]
lea ecx, [ebp - 0xb4]
push 0x5fe504
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
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.00518170
mov esi, dword [ebp - 0x1bc]
test al, al
jne 0x546860
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.00518170
mov esi, dword [ebp - 0x1bc]
test al, al
jne 0x5467e0
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 0x546152
jmp 0x546a45
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 0x5460f0
cmp byte [eax + 4], 0
jne 0x549437
push 0x60fc08
lea ecx, [ebp - 0x2c]
call fcn.0051e0b0
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518810
test al, al
mov eax, dword [ebp - 0x22c]
je 0x546da4
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], cl
jne 0x546da4
nop
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.00518170
test al, al
je 0x546d9e
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 0x5fe504
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x74]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x1c]
call fcn.00518810
test al, al
je 0x546c28
lea eax, [ebp - 0x38]
push eax
push 0x60b654
lea ecx, [ebp - 0x1c]
call fcn.00518530
test al, al
je 0x546c28
lea ecx, [ebp - 0x38]
call fcn.0051df40
cmp eax, 3
jle 0x546c28
mov eax, dword [ebp - 0x23c]
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
movzx eax, byte [eax + 0x11]
push eax
call fcn.00516480
mov esi, dword [ebp - 0x238]
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x546c2e
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x546bb3
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x546bad
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x58]
call fcn.0051c760
test eax, eax
jne 0x546bc9
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 0x546b78
jmp 0x546c2e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.0051dd30
push eax
push 0x66d5a8
lea ecx, [ebp - 0x74]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
jmp 0x546c2e
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 0x60fc58
lea ecx, [ebp - 0x74]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x98]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x98]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x1c]
call fcn.00518810
test al, al
je 0x546d7f
lea eax, [ebp - 0x38]
push eax
push 0x60fc70
lea ecx, [ebp - 0x1c]
call fcn.00518530
test al, al
je 0x546d7f
lea ecx, [ebp - 0x38]
call fcn.0051df40
cmp eax, 3
jle 0x546d7f
push 0
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.00516480
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x546d7f
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x546d0c
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x546d06
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x58]
call fcn.0051c760
test eax, eax
jne 0x546d22
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 0x546cd1
jmp 0x546d7f
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.0051dd30
push eax
push 0x66d5a8
lea ecx, [ebp - 0x74]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1b8]
inc ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], 0
je 0x546ab0
jmp 0x546da4
mov eax, dword [ebp - 0x22c]
cmp byte [eax + 4], 0
jne 0x549437
xor esi, esi
mov ecx, 0x66fc48
mov dword [ebp - 0x1c4], esi
nop dword [eax + eax]
cmp esi, 1
jne 0x546dd2
cmp byte [ebp - 0x231], 0
je 0x546fd1
cmp byte [eax + 4], 0
jne 0x549437
cmp esi, 1
mov eax, 0x66fbb8
cmovne eax, ecx
lea ecx, [ebp - 0x2c]
push eax
call fcn.0051e0b0
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518810
test al, al
mov eax, dword [ebp - 0x22c]
je 0x546fbc
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], cl
jne 0x546fbc
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.00518170
test al, al
je 0x546fb0
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 0x5fe504
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x74]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x1c]
call fcn.00518810
test al, al
je 0x546f91
lea eax, [ebp - 0x38]
push eax
push 0x5fe50c
lea ecx, [ebp - 0x1c]
call fcn.00518530
test al, al
je 0x546f91
lea ecx, [ebp - 0x38]
call fcn.0051df40
cmp eax, 3
jle 0x546f91
push 0
lea ecx, [ebp - 0x38]
call fcn.0051d7b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x546f91
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x546f1e
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x546f18
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x38]
call fcn.0051c760
test eax, eax
jne 0x546f34
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 0x546ee3
jmp 0x546f91
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.0051dd30
push eax
push 0x66d5a8
lea ecx, [ebp - 0x74]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1b8]
inc ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], 0
je 0x546e27
jmp 0x546fb6
mov eax, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x1c4]
inc esi
mov ecx, 0x66fc48
mov dword [ebp - 0x1c4], esi
cmp esi, 2
jb 0x546dc0
cmp byte [eax + 4], 0
jne 0x549437
call fcn.0051a560
push 0
push 0x20019
push 0x61b890
lea ecx, [ebp - 0x1c]
movsd qword [ebp - 0xe8], xmm0
call fcn.00518810
test al, al
mov eax, dword [ebp - 0x22c]
je 0x5474a2
xor ecx, ecx
mov dword [ebp - 0x1c0], ecx
cmp byte [eax + 4], cl
jne 0x5474a2
nop dword [eax + eax]
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00518170
test al, al
je 0x54749c
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
call fcn.0051e0b0
push 0
push 1
push 1
push 0
push 0x61b8cc
lea ecx, [ebp - 0x2c]
call fcn.0051c760
cmp eax, 1
jne 0x54747d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61b8f8
lea ecx, [ebp - 0x2c]
call fcn.0051c280
movsd xmm0, qword [ebp - 0xe8]
comisd xmm0, xmmword [0x6be4d8]
jb 0x5472a8
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x66fe30
lea ecx, [ebp - 0x2c]
call fcn.0051c4c0
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518810
test al, al
mov eax, dword [ebp - 0x22c]
je 0x547483
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], cl
jne 0x547483
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.005180d0
test al, al
je 0x54747d
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x18]
call fcn.00518530
test al, al
je 0x547286
lea ecx, [ebp - 0x38]
call fcn.0051df40
cmp eax, 0x19
jl 0x547286
push 0
push 1
push 1
push 0
push 0x66feb0
lea ecx, [ebp - 0x38]
call fcn.0051c760
test eax, eax
je 0x547286
add eax, 4
lea ecx, [ebp - 0x38]
push eax
call fcn.0051ca50
push 0
push 1
push 1
push 0
push 0x6049c8
lea ecx, [ebp - 0x38]
call fcn.0051c760
test eax, eax
je 0x547185
push eax
lea ecx, [ebp - 0x38]
call fcn.0051cb00
push 0
push 1
push 0xffffffffffffffff
push 1
push 0x5fe640
lea ecx, [ebp - 0x38]
call fcn.0051c760
test eax, eax
je 0x547286
dec eax
lea ecx, [ebp - 0x38]
push eax
call fcn.0051cb00
push 0
lea ecx, [ebp - 0x38]
call fcn.0051d7b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x547286
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x547213
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x54720d
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x38]
call fcn.0051c760
test eax, eax
jne 0x547229
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 0x5471d8
jmp 0x547286
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x674c34
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x607958
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1b8]
inc ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], 0
je 0x5470f7
jmp 0x547483
mov eax, dword [ebp - 0x22c]
xor esi, esi
mov dword [ebp - 0x1c4], esi
cmp byte [eax + 4], 0
jne 0x547483
test esi, esi
jne 0x5472d5
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x66fee8
jmp 0x5472f3
cmp esi, 1
jne 0x547304
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x66ffa0
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x74]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518810
test al, al
mov eax, dword [ebp - 0x22c]
je 0x54746b
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], cl
jne 0x54746b
nop dword [eax + eax]
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.005180d0
test al, al
je 0x54745f
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x38]
call fcn.0051e0b0
push 0
lea ecx, [ebp - 0x38]
call fcn.0051d7b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x547440
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x5473cd
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x5473c7
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x38]
call fcn.0051c760
test eax, eax
jne 0x5473e3
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 0x547392
jmp 0x547440
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x674c6c
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x607958
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1b8]
inc ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], 0
je 0x547340
jmp 0x547465
mov eax, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x1c4]
inc esi
mov dword [ebp - 0x1c4], esi
cmp esi, 2
jb 0x5472b6
jmp 0x547483
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1c0]
inc ecx
cmp byte [eax + 4], 0
mov dword [ebp - 0x1c0], ecx
je 0x547020
jmp 0x5474a2
mov eax, dword [ebp - 0x22c]
cmp byte [eax + 4], 0
jne 0x549437
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.004d5ca0
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 0x547797
mov eax, dword [ebp - 0x22c]
xor edx, edx
mov dword [ebp - 0x1c0], edx
cmp byte [eax + 4], 0
jne 0x547797
xor esi, esi
mov dword [ebp - 0x1c4], esi
nop dword [eax + eax]
cmp byte [eax + 4], 0
jne 0x547775
test esi, esi
jne 0x54758e
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x670060
jmp 0x5475c8
cmp esi, 1
jne 0x5475ac
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x670120
jmp 0x5475c8
cmp esi, 3
jne 0x5475dd
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x670388
add ecx, edx
call fcn.0051dd30
push eax
push str.HKU_
lea ecx, [ebp - 0x2c]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518810
test al, al
mov eax, dword [ebp - 0x22c]
je 0x547759
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], cl
jne 0x547759
lea eax, [ebp - 0x1d4]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.005180d0
test al, al
je 0x54774d
mov ecx, dword [ebp - 0x1d4]
call fcn.0051aa10
cmp eax, 3
jl 0x54772e
mov eax, dword [ebp - 0x1d4]
cmp word [eax + 2], 0x3a
jne 0x54772e
push eax
lea ecx, [ebp - 0x58]
call fcn.0051e0b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x54772e
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 0x5476bb
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x5476b5
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x58]
call fcn.0051c760
test eax, eax
jne 0x5476d1
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 0x547680
jmp 0x54772e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x674ca0
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x607958
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0x1b8]
inc ecx
mov dword [ebp - 0x1b8], ecx
cmp byte [eax + 4], 0
je 0x547614
jmp 0x547753
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 0x547570
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 0x547556
mov edx, dword [ebp - 0x22c]
cmp byte [edx + 4], 0
jne 0x5493ff
xor esi, esi
mov dword [ebp - 0x1c4], esi
nop
mov al, byte [edx + 4]
test al, al
jne 0x5493ff
test esi, esi
jne 0x5477c6
push 0x6701a8
jmp 0x5477e8
cmp esi, 1
jne 0x5477d2
push 0x670238
jmp 0x5477e8
cmp esi, 2
jne 0x5477de
push 0x6702e0
jmp 0x5477e8
cmp esi, 3
jne 0x5477f0
push 0x670328
lea ecx, [ebp - 0x2c]
call fcn.0051e0b0
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518810
mov edx, dword [ebp - 0x22c]
test al, al
je 0x547969
xor eax, eax
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], al
jne 0x547969
lea ecx, [ebp - 0x1d4]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.005180d0
test al, al
je 0x54795d
mov ecx, dword [ebp - 0x1d4]
call fcn.0051aa10
cmp eax, 3
jl 0x54793e
mov eax, dword [ebp - 0x1d4]
cmp word [eax + 2], 0x3a
jne 0x54793e
push eax
lea ecx, [ebp - 0x58]
call fcn.0051e0b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x54793e
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
nop
cmp dword [esi + eax*4], 0
je 0x5478cb
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x5478c5
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x58]
call fcn.0051c760
test eax, eax
jne 0x5478e1
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 0x547890
jmp 0x54793e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x674ca0
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x607958
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x1b8]
inc eax
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], 0
je 0x547827
jmp 0x547963
mov edx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x1c4]
inc esi
mov dword [ebp - 0x1c4], esi
cmp esi, 3
jb 0x5477b0
mov al, byte [edx + 4]
test al, al
jne 0x5493ff
xor esi, esi
mov dword [ebp - 0x1c4], esi
nop dword [eax]
mov al, byte [edx + 4]
test al, al
jne 0x5493ff
test esi, esi
jne 0x5479a8
push 1
push 0x670448
jmp 0x5479b3
cmp esi, 1
jne 0x5479bb
push esi
push 0x6704d0
lea ecx, [ebp - 0x2c]
call fcn.0051de00
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518810
mov edx, dword [ebp - 0x22c]
test al, al
je 0x547b19
xor eax, eax
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], al
jne 0x547b19
lea ecx, [ebp - 0x1d4]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.005180d0
test al, al
je 0x547b0d
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x58]
call fcn.0051e0b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x547aee
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 0x547a7b
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x547a75
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x58]
call fcn.0051c760
test eax, eax
jne 0x547a91
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 0x547a40
jmp 0x547aee
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x674ce0
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x607958
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x1b8]
inc eax
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], 0
je 0x5479f2
jmp 0x547b13
mov edx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x1c4]
inc esi
mov dword [ebp - 0x1c4], esi
cmp esi, 2
jb 0x547990
mov al, byte [edx + 4]
test al, al
jne 0x5493ff
mov eax, dword [ebp - 0x1bc]
xor esi, esi
add eax, 2
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x250], eax
je 0x54804f
xor ecx, ecx
mov dword [ebp - 0x248], ecx
cmp byte [edx + 4], 0
jne 0x5493ff
mov eax, dword [ebp - 0x1bc]
cmp esi, eax
jne 0x547b79
push 0x63e660
lea ecx, [ebp - 0x2c]
call fcn.0051e0b0
jmp 0x547bca
inc eax
cmp esi, eax
jne 0x547b9a
cmp byte [ebp - 0x231], 0
je 0x54804f
push 0x66fd44
lea ecx, [ebp - 0x2c]
call fcn.0051e0b0
jmp 0x547bca
add ecx, dword [ebp - 0x1d8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x66fda0
call fcn.0051dd30
push eax
push str.HKU_
lea ecx, [ebp - 0x2c]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518810
mov edx, dword [ebp - 0x22c]
test al, al
je 0x548030
xor eax, eax
mov dword [ebp - 0x1c0], eax
cmp byte [edx + 4], al
jne 0x548030
lea ecx, [ebp - 0x1d4]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.00518170
test al, al
je 0x54802a
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0xd4]
call fcn.0051e0b0
push str.Microsoft
lea ecx, [ebp - 0xd4]
call fcn.0051e060
test al, al
jne 0x548008
push 0x66fe20
lea ecx, [ebp - 0xd4]
call fcn.0051e060
test al, al
jne 0x548008
cmp esi, dword [ebp - 0x1bc]
jne 0x547c7a
push 0x674d20
lea ecx, [ebp - 0xd4]
call fcn.0051e060
test al, al
jne 0x548008
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 0x5fe504
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x74]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x1c]
call fcn.00518810
test al, al
je 0x547e09
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1b8], 0
push eax
push 0
lea ecx, [ebp - 0x1c]
call fcn.005180d0
test al, al
je 0x547e09
nop dword [eax + eax]
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x1fc]
lea ecx, [ebp - 0x1c]
call fcn.00518530
test al, al
je 0x547de4
push 0
lea ecx, [ebp - 0x38]
call fcn.0051d7b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x547de4
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x547d71
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x547d6b
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x38]
call fcn.0051c760
test eax, eax
jne 0x547d87
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 0x547d36
jmp 0x547de4
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.0051dd30
push eax
push 0x66d5a8
lea ecx, [ebp - 0x74]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
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.005180d0
test al, al
jne 0x547cf0
lea ecx, [ebp - 0x1c]
call fcn.005187e0
test eax, eax
je 0x548008
lea eax, [ebp - 0x1fc]
xor esi, esi
push eax
push esi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c4], esi
call fcn.00518170
test al, al
je 0x548008
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 0x5fe504
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x98]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x98]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x40]
call fcn.00518810
test al, al
je 0x547fe9
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x1b8], 0
push eax
push 0
lea ecx, [ebp - 0x40]
call fcn.005180d0
test al, al
je 0x547fe9
nop word [eax + eax]
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x1e8]
lea ecx, [ebp - 0x40]
call fcn.00518530
test al, al
je 0x547fbe
push 0
lea ecx, [ebp - 0x38]
call fcn.0051d7b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x547fbe
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x547f41
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x547f3b
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x38]
call fcn.0051c760
test eax, eax
jne 0x547f57
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 0x547f06
jmp 0x547fbe
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.0051dd30
push eax
push 0x66d5a8
push dword [ebp - 0x1e8]
lea ecx, [ebp - 0x98]
push 0x607958
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
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.005180d0
test al, al
jne 0x547ec0
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.00518170
test al, al
jne 0x547e40
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 0x547c01
jmp 0x548030
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 0x547b56
cmp byte [edx + 4], 0
jne 0x5493ff
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 0x548166
push 0
push 0
push 0x104
lea ecx, [ebp - 0x2c]
call fcn.0051d530
mov eax, dword [ebp - 0x1c0]
test eax, eax
jne 0x5480e6
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
push 0
push 0
push 0x19
jmp 0x548110
cmp eax, 1
jne 0x5480fc
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
push 0
push 0
push 0x1f
jmp 0x548110
cmp eax, 2
jne 0x54811c
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
push 0
push 0
push 0x16
push 0
call dword [0x5de5d4]
test eax, eax
jne 0x54814a
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
mov ecx, edi
call fcn.00544c70
mov edx, dword [ebp - 0x22c]
test al, al
movzx ecx, al
sete al
mov byte [edx + 4], al
test ecx, ecx
je 0x548166
jmp 0x548150
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x1c0]
inc eax
mov dword [ebp - 0x1c0], eax
cmp eax, 3
jb 0x5480b0
mov al, byte [edx + 4]
mov edi, dword [ebp - 0x1c8]
test al, al
jne 0x5493ff
cmp dword [ebp - 0x1bc], 0
je 0x54872d
xorps xmm0, xmm0
mov dword [ebp - 0x174], 0
lea ecx, [ebp - 0x17c]
movq qword [ebp - 0x17c], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x16c]
xorps xmm0, xmm0
mov dword [ebp - 0x164], 0
movq qword [ebp - 0x16c], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x15c]
xorps xmm0, xmm0
mov dword [ebp - 0x154], 0
movq qword [ebp - 0x15c], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x64]
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
movq qword [ebp - 0x64], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xc4]
xorps xmm0, xmm0
mov dword [ebp - 0xbc], 0
movq qword [ebp - 0xc4], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x124]
xorps xmm0, xmm0
mov dword [ebp - 0x11c], 0
movq qword [ebp - 0x124], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x104]
xorps xmm0, xmm0
mov dword [ebp - 0xfc], 0
movq qword [ebp - 0x104], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x114]
xorps xmm0, xmm0
mov dword [ebp - 0x10c], 0
movq qword [ebp - 0x114], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0xf4]
xorps xmm0, xmm0
mov dword [ebp - 0xec], 0
movq qword [ebp - 0xf4], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x8c]
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
movq qword [ebp - 0x8c], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x80]
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
movq qword [ebp - 0x80], xmm0
call fcn.0051e180
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.0051d530
push eax
call dword [0x5de0cc]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0xc4]
call fcn.0051dd30
lea edx, [ebp - 0x124]
mov ecx, eax
call fcn.004d61e0
push 0
push 0
push 0x104
lea ecx, [ebp - 0x104]
call fcn.0051d530
push eax
push 0
push 0
push 0xb
push 0
call dword [0x5de5d4]
lea ecx, [ebp - 0x64]
call fcn.0051df40
push eax
lea ecx, [ebp - 0x104]
call fcn.0051ca50
push 0
push 0
push 0x104
lea ecx, [ebp - 0x114]
call fcn.0051d530
push eax
push 0
push 0
push 0x10
push 0
call dword [0x5de5d4]
lea ecx, [ebp - 0x64]
call fcn.0051df40
push eax
lea ecx, [ebp - 0x114]
call fcn.0051ca50
push 0
push 0
push 0x104
lea ecx, [ebp - 0xf4]
call fcn.0051d530
push eax
push 0
push 0
push 8
push 0
call dword [0x5de5d4]
lea ecx, [ebp - 0x64]
call fcn.0051df40
push eax
lea ecx, [ebp - 0xf4]
call fcn.0051ca50
push 0
push 0
push 0x104
lea ecx, [ebp - 0x8c]
call fcn.0051d530
push eax
push 0
push 0
push 6
push 0
call dword [0x5de5d4]
lea ecx, [ebp - 0x64]
call fcn.0051df40
push eax
lea ecx, [ebp - 0x8c]
call fcn.0051ca50
push 0
push 0
push 0x104
lea ecx, [ebp - 0x80]
call fcn.0051d530
push eax
push 0
push 0
push 0x1a
push 0
call dword [0x5de5d4]
lea ecx, [ebp - 0x64]
call fcn.0051df40
push eax
lea ecx, [ebp - 0x80]
call fcn.0051ca50
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x60f8b0
lea ecx, [ebp - 0x80]
call fcn.0051c4c0
cmp dword [ebp - 0x1bc], 0
mov dword [ebp - 0x248], 0
jbe 0x5486a5
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.0051dd30
mov ecx, dword [ebp - 0x1dc]
push eax
lea ecx, [ecx + edi]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x64]
call fcn.0051dda0
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x64]
call fcn.0051dd30
mov ecx, dword [ebp - 0x23c]
push eax
call fcn.00544c70
test al, al
movzx ecx, al
sete al
mov byte [esi + 4], al
test ecx, ecx
je 0x54869f
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.0051dd30
mov ecx, dword [ebp - 0x1dc]
push eax
lea ecx, [ecx + edi]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x64]
call fcn.0051dda0
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x64]
call fcn.0051dd30
mov ecx, dword [ebp - 0x23c]
push eax
call fcn.00544c70
test al, al
movzx ecx, al
sete al
mov byte [esi + 4], al
test ecx, ecx
je 0x54869f
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.0051dd30
mov ecx, dword [ebp - 0x1dc]
push eax
lea ecx, [ecx + edi]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x64]
call fcn.0051dda0
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x64]
call fcn.0051dd30
mov ecx, dword [ebp - 0x23c]
push eax
call fcn.00544c70
test al, al
movzx ecx, al
sete al
mov byte [esi + 4], al
test ecx, ecx
je 0x54869f
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.0051dd30
mov ecx, dword [ebp - 0x1dc]
push eax
lea ecx, [ecx + edi]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x64]
call fcn.0051dda0
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x64]
call fcn.0051dd30
mov ecx, dword [ebp - 0x23c]
push eax
call fcn.00544c70
test al, al
movzx ecx, al
sete al
mov byte [esi + 4], al
test ecx, ecx
je 0x54869f
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.0051dd30
mov ecx, dword [ebp - 0x1dc]
push eax
lea ecx, [ecx + edi]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x64]
call fcn.0051dda0
lea eax, [ebp - 0x228]
push eax
lea ecx, [ebp - 0x64]
call fcn.0051dd30
mov ecx, dword [ebp - 0x23c]
push eax
call fcn.00544c70
test al, al
movzx ecx, al
sete al
mov byte [esi + 4], al
test ecx, ecx
je 0x54869f
mov eax, dword [ebp - 0x248]
add edi, 0xc
inc eax
mov dword [ebp - 0x248], eax
cmp eax, dword [ebp - 0x1bc]
jb 0x548495
mov edi, dword [ebp - 0x1c8]
lea ecx, [ebp - 0x80]
call fcn.0051dfd0
lea ecx, [ebp - 0x8c]
call fcn.0051dfd0
lea ecx, [ebp - 0xf4]
call fcn.0051dfd0
lea ecx, [ebp - 0x114]
call fcn.0051dfd0
lea ecx, [ebp - 0x104]
call fcn.0051dfd0
lea ecx, [ebp - 0x124]
call fcn.0051dfd0
lea ecx, [ebp - 0xc4]
call fcn.0051dfd0
lea ecx, [ebp - 0x64]
call fcn.0051dfd0
lea ecx, [ebp - 0x15c]
call fcn.0051dfd0
lea ecx, [ebp - 0x16c]
call fcn.0051dfd0
lea ecx, [ebp - 0x17c]
mov byte [ebp - 4], 0x1d
call fcn.0051dfd0
mov edx, dword [ebp - 0x22c]
mov al, byte [edx + 4]
test al, al
jne 0x5493ff
xor ecx, ecx
mov dword [ebp - 0xc4], 0x60fd38
mov dword [ebp - 0xc0], 0x60fd40
mov dword [ebp - 0xbc], 0x60fd50
mov dword [ebp - 0x1c0], ecx
cmp dword [ebp - 0x250], ecx
jbe 0x548a06
mov dword [ebp - 0x3c], ecx
test al, al
jne 0x5493ff
mov esi, dword [ebp - 0x1bc]
inc esi
cmp ecx, esi
mov esi, dword [ebp - 0x238]
jne 0x548787
cmp byte [ebp - 0x231], al
je 0x548a06
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
nop
mov al, byte [edx + 4]
test al, al
jne 0x5489e9
mov eax, dword [ebp - 0x1c0]
cmp eax, dword [ebp - 0x1bc]
jae 0x5487db
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 0x60fc88
call fcn.0051dd30
push eax
push str.HKU_
jmp 0x548830
jne 0x5487ff
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 0x64b558
jmp 0x548830
mov edx, dword [ebp - 0x1bc]
mov edi, dword [ebp - 0x1c8]
inc edx
cmp eax, edx
jne 0x548838
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 0x64b440
lea ecx, [ebp - 0x2c]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518810
test al, al
je 0x5489ca
lea eax, [ebp - 0x1d4]
mov dword [ebp - 0x248], 0
push eax
push 0
lea ecx, [ebp - 0x18]
call fcn.005180d0
test al, al
je 0x5489ca
nop dword [eax + eax]
mov eax, dword [ebp - 0x1d0]
cmp eax, 1
je 0x548894
cmp eax, 2
jne 0x5489a5
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x18]
call fcn.00518530
test al, al
je 0x5489a5
lea ecx, [ebp - 0x58]
call fcn.0051da30
test al, al
jne 0x5489a5
cmp dword [ebp - 0x1d0], 2
jne 0x5488d1
push 0
lea ecx, [ebp - 0x58]
call fcn.0051d7b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x5489a5
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x230], ecx
nop dword [eax]
cmp dword [esi + eax*4], 0
je 0x54892b
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x548925
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x58]
call fcn.0051c760
test eax, eax
jne 0x548941
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 0x5488f0
jmp 0x5489a5
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.0051dd30
push eax
push 0x66d5a8
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x2c]
push 0x607958
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
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.005180d0
test al, al
jne 0x548880
mov ecx, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x22c]
inc ecx
mov dword [ebp - 0x1b8], ecx
cmp ecx, 3
jb 0x548790
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 0x548762
test al, al
jne 0x5493ff
cmp dword [ebp - 0x1bc], 0
mov cl, al
mov esi, dword [ebp - 0x238]
je 0x548c38
mov edi, dword [ebp - 0x1c8]
mov dword [ebp - 0x1c0], 0
jbe 0x548c38
mov dword [ebp - 0x250], 0
mov cl, al
test cl, cl
jne 0x5493ff
xor eax, eax
mov dword [ebp - 0x1b8], eax
mov cl, byte [edx + 4]
test cl, cl
jne 0x548c11
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 0x548a8a
push 0x634fa8
jmp 0x548a8f
push 0x635010
call fcn.0051dd30
push eax
push str.HKU_
lea ecx, [ebp - 0x2c]
call fcn.0051dda0
push 0
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x18]
call fcn.00518810
mov edx, dword [ebp - 0x22c]
test al, al
je 0x548bf8
xor eax, eax
mov dword [ebp - 0x248], eax
cmp byte [edx + 4], al
jne 0x548bf8
nop dword [eax]
lea ecx, [ebp - 0x1d4]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.005180d0
test al, al
je 0x548bf2
push dword [ebp - 0x1d4]
lea ecx, [ebp - 0x38]
call fcn.0051e0b0
xor eax, eax
mov dword [ebp - 0x1b4], eax
test edi, edi
je 0x548bd3
mov ecx, dword [ebp - 0x240]
mov dword [ebp - 0x230], ecx
cmp dword [esi + eax*4], 0
je 0x548b5d
call fcn.0051df40
mov ecx, dword [ebp - 0x230]
test eax, eax
je 0x548b57
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x38]
call fcn.0051c760
test eax, eax
jne 0x548b73
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 0x548b22
jmp 0x548bd3
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x674d38
lea ecx, [ebp - 0x38]
call fcn.0051dd30
push eax
push 0x607958
lea ecx, [ebp - 0x2c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x248]
inc eax
mov dword [ebp - 0x248], eax
cmp byte [edx + 4], 0
je 0x548ae0
jmp 0x548bf8
mov edx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x1b8]
inc eax
mov dword [ebp - 0x1b8], eax
cmp eax, 2
jb 0x548a55
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 0x548a43
test cl, cl
jne 0x5493ff
xorps xmm0, xmm0
mov dword [ebp - 0xd8], 0
lea ecx, [ebp - 0xe0]
movq qword [ebp - 0xe0], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x29
call fcn.0051a560
movsd xmm1, qword [0x6be4d8]
lea ecx, [ebp - 0xe0]
comisd xmm1, xmm0
push 0x104
push 0
push 0
push 0x104
jbe 0x549094
call fcn.0051d530
push eax
call dword [0x5de404]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x616234
lea ecx, [ebp - 0xe0]
call fcn.0051c4c0
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
lea ecx, [ebp - 0x8c]
movq qword [ebp - 0x8c], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x2a
lea ecx, [ebp - 0x64]
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
movq qword [ebp - 0x64], xmm0
call fcn.0051e180
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x80]
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
movq qword [ebp - 0x80], xmm0
call fcn.0051e180
mov dword [ebp - 0x1c8], 0
lea eax, [ebp - 0x1c8]
push eax
push 0x60a0a8
push 1
push 0
push 0x608e04
call dword [0x5dea70]
test eax, eax
jns 0x548d49
mov byte [ebp - 4], 0x2e
jmp 0x549060
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 0x548d8b
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x1b4]
test eax, eax
je 0x548d82
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x31
jmp 0x549060
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 0x549048
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x549048
xor esi, esi
mov dword [ebp - 0x248], esi
test eax, eax
je 0x54901b
nop
mov eax, dword [ebp - 0x22c]
cmp byte [eax + 4], 0
jne 0x54901b
mov eax, dword [ebp - 0x1c0]
lea ecx, [ebp - 0x8c]
push dword [eax + esi*4]
call fcn.0051e0b0
mov eax, dword [ebp - 0x1c0]
push dword [eax + esi*4]
call dword [0x5dea74]
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 0x60e110
call fcn.0051dd30
push eax
push dword [ebp - 0x1c8]
call dword [esi + 0x18]
test eax, eax
jns 0x548e47
mov byte [ebp - 4], 0x33
jmp 0x548ff1
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.0051e0b0
push dword [ebp - 0x1b8]
lea ecx, [ebp - 0x80]
call fcn.0051e0b0
mov eax, dword [ebp - 0x1c4]
mov esi, dword [0x5dea74]
test eax, eax
je 0x548eb6
push eax
call esi
mov eax, dword [ebp - 0x1b8]
test eax, eax
je 0x548ec3
push eax
call esi
lea ecx, [ebp - 0x80]
call fcn.0051df40
test eax, eax
je 0x548ef9
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.0051dd30
push eax
push 0x5ff58c
lea ecx, [ebp - 0x64]
call fcn.0051c4c0
push 0
lea ecx, [ebp - 0x64]
call fcn.0051d7b0
push 4
lea ecx, [ebp - 0x8c]
call fcn.0051cac0
xor eax, eax
mov dword [ebp - 0x230], eax
test edi, edi
je 0x548fed
mov ecx, dword [ebp - 0x240]
mov esi, dword [ebp - 0x238]
mov dword [ebp - 0x250], ecx
cmp dword [esi + eax*4], 0
je 0x548f6d
call fcn.0051df40
mov ecx, dword [ebp - 0x250]
test eax, eax
je 0x548f67
push 0
push 1
push 1
push 0
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x64]
call fcn.0051c760
test eax, eax
jne 0x548f83
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 0x548f32
jmp 0x548fed
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x64]
call fcn.0051dd30
push eax
push 0x66d5a8
lea ecx, [ebp - 0x8c]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0xe0]
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x1bc]
test eax, eax
je 0x549001
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 0x548dd0
push dword [ebp - 0x1c0]
call dword [0x5dea74]
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 0x548db3
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x1b4]
test eax, eax
je 0x54905c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x1c8]
test eax, eax
je 0x549070
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x80]
call fcn.0051dfd0
lea ecx, [ebp - 0x64]
call fcn.0051dfd0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x29
call fcn.0051dfd0
jmp 0x5492cd
call fcn.0051d530
push eax
call dword [0x5de464]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x60b768
lea ecx, [ebp - 0xe0]
call fcn.0051c4c0
mov dword [ebp - 0x1bc], 0
lea eax, [ebp - 0x1bc]
push eax
push 0x5f88fc
push 1
push 0
push 0x5f8b0c
call dword [0x5dea70]
test eax, eax
jns 0x54910c
mov byte [ebp - 4], 0x38
mov eax, dword [ebp - 0x1bc]
test eax, eax
je 0x549103
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x29
jmp 0x5492cd
mov esi, dword [0x5de558]
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 [0x5de550]
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 0x5491e5
mov byte [ebp - 4], 0x3d
jmp 0x5492b3
mov dword [ebp - 0x1c0], 0
push 0x5fe504
lea ecx, [ebp - 0x248]
mov byte [ebp - 4], 0x3e
call fcn.00401b70
mov byte [ebp - 4], 0x3f
mov eax, dword [eax]
test eax, eax
je 0x549211
mov edx, dword [eax]
jmp 0x549213
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 0x54924b
call fcn.00401dc0
mov al, byte [ebp - 0x231]
test al, al
je 0x549269
mov byte [ebp - 4], 0x40
mov eax, dword [ebp - 0x1c0]
test eax, eax
je 0x549263
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x41
jmp 0x5492b3
lea ecx, [ebp - 0xe0]
call fcn.0051dd30
mov ecx, dword [ebp - 0x23c]
push eax
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x1c0]
call fcn.00545060
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 0x5492af
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0x1bc]
test eax, eax
je 0x5492c3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x29
mov edi, dword [ebp - 0x1c8]
call dword [0x5dea6c]
mov eax, dword [ebp - 0x22c]
cmp byte [eax + 4], 0
je 0x5492f2
lea ecx, [ebp - 0xe0]
or esi, 0xffffffff
call fcn.0051dfd0
jmp 0x549402
xor cl, cl
mov dword [ebp - 0x1b8], 0
test edi, edi
je 0x5493dc
mov esi, dword [ebp - 0x240]
nop dword [eax]
mov ecx, esi
call fcn.0051df40
test eax, eax
je 0x5493bb
mov ecx, esi
call fcn.0051dd30
push eax
call dword [0x5de620]
test eax, eax
je 0x5493bb
push 4
push 0
mov ecx, esi
call fcn.0051dd30
mov ecx, eax
call fcn.0050d410
push edx
push eax
lea ecx, [ebp - 0xd4]
call fcn.0051cba0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x5fe61c
lea ecx, [ebp - 0xd4]
call fcn.0051dd30
push eax
push 0x674d64
mov ecx, esi
call fcn.0051dd30
push eax
lea ecx, [ebp - 0x4c]
call fcn.0051dda0
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.00544b20
mov eax, dword [ebp - 0x1b8]
add esi, 0xc
inc eax
mov dword [ebp - 0x1b8], eax
cmp eax, edi
jb 0x549310
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.0051dfd0
jmp 0x549402
or esi, 0xffffffff
mov ecx, dword [ebp - 0x254]
test ecx, ecx
je 0x549413
push 3
call fcn.00401ff0
mov ecx, dword [ebp - 0x1ec]
test ecx, ecx
je 0x549424
push 3
call fcn.00401ff0
mov ecx, dword [ebp - 0xe8]
test ecx, ecx
je 0x54943a
push 3
call fcn.00401ff0
jmp 0x54943a
or esi, 0xffffffff
lea ecx, [ebp - 0x20c]
call fcn.00518890
lea ecx, [ebp - 0x1e8]
call fcn.00518890
lea ecx, [ebp - 0x1fc]
call fcn.00518890
lea ecx, [ebp - 0x58]
call fcn.0051dfd0
lea ecx, [ebp - 0xd4]
call fcn.0051dfd0
lea ecx, [ebp - 0x4c]
call fcn.0051dfd0
lea ecx, [ebp - 0x38]
call fcn.0051dfd0
lea ecx, [ebp - 0x14c]
call fcn.0051dfd0
lea ecx, [ebp - 0xb4]
call fcn.0051dfd0
lea ecx, [ebp - 0xa8]
call fcn.0051dfd0
lea ecx, [ebp - 0x98]
call fcn.0051dfd0
lea ecx, [ebp - 0x74]
call fcn.0051dfd0
lea ecx, [ebp - 0x9c]
call fcn.005187c0
lea ecx, [ebp - 0x68]
call fcn.005187c0
lea ecx, [ebp - 0x40]
call fcn.005187c0
mov eax, dword [ebp - 0x24c]
test eax, eax
je 0x5494e0
push eax
call fcn.0041e896
add esp, 4
mov eax, dword [ebp - 0x238]
test eax, eax
je 0x5494f3
push eax
call fcn.0041e896
add esp, 4
mov eax, dword [ebp - 0x244]
test eax, eax
je 0x549506
push 3
mov ecx, eax
call fcn.00401ff0
mov eax, dword [ebp - 0x240]
test eax, eax
je 0x549519
push 3
mov ecx, eax
call fcn.00401ff0
lea ecx, [ebp - 0x140]
call fcn.0051dfd0
lea ecx, [ebp - 0x134]
call fcn.0051dfd0
lea ecx, [ebp - 0x1d4]
call fcn.00518890
lea ecx, [ebp - 0x1c]
call fcn.005187c0
lea ecx, [ebp - 0x18]
call fcn.005187c0
lea ecx, [ebp - 0x2c]
call fcn.0051dfd0
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.0041e885
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4