Function at 0x56c1f0
Capabilities:
Encode data using base64

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 0x5f7984
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x234
mov eax, dword [0x704200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x224], ecx
mov edx, dword [ebx + 8]
mov dword [ebp - 0x21c], edx
call fcn.00466930
test al, al
jne 0x56c250
xor eax, eax
jmp 0x570020
mov eax, dword [ecx + 0x14b4]
xorps xmm0, xmm0
mov dword [ebp - 0x1a4], eax
lea ecx, [ebp - 0x2c]
lea eax, [edx + 8]
movq qword [ebp - 0x2c], xmm0
push eax
mov dword [ebp - 0x24], 0
call fcn.00545910
push 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2c]
push 0x20019
mov dword [ebp - 0x18], 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fe40
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.0053fe60
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.0053fdc0
test eax, eax
jne 0x56c2c3
xor edi, edi
jmp 0x570006
xorps xmm0, xmm0
mov dword [ebp - 0x1c4], 0
lea ecx, [ebp - 0x1cc]
movq qword [ebp - 0x1cc], xmm0
call fcn.0053fe80
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.0053f640
mov esi, eax
mov dword [ebp - 0x240], esi
test esi, esi
jne 0x56c302
xor edi, edi
jmp 0x56fffb
call fcn.00530810
mov byte [ebp - 0x225], al
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x1d4], esi
mov edi, 0xc
mul edi
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.0041ea7c
add esp, 4
mov dword [ebp - 0x1bc], eax
push fcn.00545790
push fcn.00545940
push esi
mov byte [ebp - 4], 4
mov dword [eax], esi
add eax, 4
push edi
push eax
mov dword [ebp - 0x22c], eax
call fcn.0041eab1
xorps xmm0, xmm0
mov dword [ebp - 0x104], 0
lea ecx, [ebp - 0x10c]
movq qword [ebp - 0x10c], xmm0
call fcn.00545940
xor ecx, ecx
mov byte [ebp - 4], 5
mov eax, esi
mov dword [ebp - 0x1d4], esi
mul edi
seto cl
neg ecx
or ecx, eax
xor eax, eax
add ecx, 4
setb al
neg eax
or eax, ecx
push eax
call fcn.0041ea7c
add esp, 4
mov dword [ebp - 0x1bc], eax
push fcn.00545790
push fcn.00545940
push esi
mov byte [ebp - 4], 6
mov dword [eax], esi
add eax, 4
push edi
push eax
mov dword [ebp - 0x230], eax
call fcn.0041eab1
xorps xmm0, xmm0
mov dword [ebp - 0x110], 0
lea ecx, [ebp - 0x118]
movq qword [ebp - 0x118], xmm0
call fcn.00545940
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.0041ea7c
add esp, 4
mov edi, eax
xor ecx, ecx
mov eax, esi
mov dword [ebp - 0x220], edi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041ea7c
add esp, 4
shl esi, 2
mov dword [ebp - 0x234], eax
push esi
push 0
push edi
call fcn.004201d0
add esp, 0xc
push esi
mov esi, dword [ebp - 0x234]
push 0
push esi
call fcn.004201d0
mov eax, dword [ebp - 0x22c]
xorps xmm0, xmm0
movlpd qword [ebp - 0x188], xmm0
add esp, 0xc
mov dword [ebp - 0x188], eax
mov eax, dword [ebp - 0x230]
movlpd qword [ebp - 0x190], xmm0
mov dword [ebp - 0x190], eax
movlpd qword [ebp - 0x198], xmm0
mov dword [ebp - 0x198], edi
movlpd qword [ebp - 0x1a0], xmm0
mov dword [ebp - 0x1a0], esi
push 0
call dword [0x5fdacc]
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0
call fcn.0053fe60
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], 0
call fcn.0053fe60
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], 0
call fcn.0053fe60
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x1a4]
push dword [eax + 0x14]
call fcn.00523000
push 1
push dword [ebp - 0x240]
mov esi, eax
push 0x21
push 0x12
push 0x12
call dword [0x5fd18c]
push eax
push 0
push 0x1109
push esi
call dword [0x5fd6cc]
xor edi, edi
mov dword [ebp - 0x238], edi
cmp dword [ebp - 0x240], edi
jbe 0x56c6e1
mov ecx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
sub eax, ecx
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x1cc]
push eax
push edi
lea ecx, [ebp - 0x18]
call fcn.0053f740
test al, al
je 0x56c6db
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x118]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0x118]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fdf0
mov eax, dword [ebp - 0x23c]
lea ecx, [ebp - 0x1c]
add eax, dword [ebp - 0x1d4]
push eax
push 0x664d04
call fcn.0053fb00
push dword [ebp - 0x23c]
lea ecx, [ebp - 0x1c]
push 0x626cb8
call fcn.0053fb00
mov ecx, dword [ebp - 0x23c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a1270
call fcn.005454f0
push eax
lea ecx, [ebp - 0x10c]
call fcn.00545560
mov eax, dword [ebp - 0x21c]
lea ecx, [ebp - 0x10c]
push dword [eax + 0x14]
push 0xffffffffffffffff
push 0
push 0
call fcn.005454f0
mov ecx, dword [ebp - 0x1a4]
push eax
call fcn.00517d50
mov dword [esi + edi*4], eax
lea ecx, [ebp - 0x1c]
lea eax, [ebp - 0x1c0]
xorps xmm0, xmm0
push eax
push 0x69e5b4
movlpd qword [ebp - 0x1c0], xmm0
call fcn.0053f9e0
test al, al
je 0x56c693
mov ecx, dword [ebp - 0x1c0]
mov eax, ecx
or eax, dword [ebp - 0x1bc]
je 0x56c693
mov eax, dword [ebp - 0x21c]
push ecx
push ecx
push dword [esi + edi*4]
mov ecx, dword [ebp - 0x1a4]
push dword [eax + 0x14]
call fcn.00517780
push dword [ebp - 0x1c0]
call dword [0x5fd834]
jmp 0x56c6c7
mov ecx, dword [ebp - 0x224]
sub esp, 8
push 0
push 0x14
push 0x14
push 0xa7
call fcn.0045e830
mov ecx, dword [ebp - 0x1a4]
add esp, 4
push eax
mov eax, dword [ebp - 0x21c]
push dword [esi + edi*4]
push dword [eax + 0x14]
call fcn.00517560
add dword [ebp - 0x23c], 0xc
inc edi
cmp edi, dword [ebp - 0x240]
jb 0x56c550
mov dword [ebp - 0x238], edi
xorps xmm0, xmm0
mov dword [ebp - 0x6c], 0
lea ecx, [ebp - 0x74]
movq qword [ebp - 0x74], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x9c], 0
lea ecx, [ebp - 0xa4]
movq qword [ebp - 0xa4], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0xac], 0
lea ecx, [ebp - 0xb4]
movq qword [ebp - 0xb4], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0xb8], 0
lea ecx, [ebp - 0xc0]
movq qword [ebp - 0xc0], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x11c], 0
lea ecx, [ebp - 0x124]
movq qword [ebp - 0x124], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x38]
movq qword [ebp - 0x38], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x4c]
movq qword [ebp - 0x4c], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0xd4], 0
lea ecx, [ebp - 0xdc]
movq qword [ebp - 0xdc], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
lea ecx, [ebp - 0x58]
movq qword [ebp - 0x58], xmm0
call fcn.00545940
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1f0]
xorps xmm0, xmm0
mov dword [ebp - 0x1e8], 0
movq qword [ebp - 0x1f0], xmm0
call fcn.0053fe80
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1e4]
xorps xmm0, xmm0
mov dword [ebp - 0x1dc], 0
movq qword [ebp - 0x1e4], xmm0
call fcn.0053fe80
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x1fc]
xorps xmm0, xmm0
mov dword [ebp - 0x1f4], 0
movq qword [ebp - 0x1fc], xmm0
call fcn.0053fe80
mov ecx, dword [ebp - 0x224]
push 0x6a1280
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x20], 0
push 0xffffffffffffffff
lea ecx, [ecx + 0x14c0]
call fcn.00514200
xor ecx, ecx
mov esi, 0x69b9a8
mov dword [ebp - 0x240], ecx
nop dword [eax]
cmp ecx, 1
jne 0x56c893
mov dl, byte [ebp - 0x225]
test dl, dl
je 0x56cad6
cmp ecx, 1
mov eax, 0x69b978
lea ecx, [ebp - 0x2c]
cmovne eax, esi
push eax
call fcn.00545870
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fdf0
test al, al
je 0x56caba
mov esi, dword [ebp - 0x21c]
mov eax, 1
mov dword [ebp - 0x1b4], eax
cmp byte [esi + 4], 0
jne 0x56cab5
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0053f740
test al, al
je 0x56cab5
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x74]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fdf0
lea ecx, [ebp - 0x1c]
call fcn.0053f640
mov dword [ebp - 0x1d4], eax
test eax, eax
je 0x56ca9e
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0x1ac], 0
push eax
push 0
lea ecx, [ebp - 0x1c]
call fcn.0053f740
test al, al
je 0x56ca9e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x74]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0xa4]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0xa4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x3c]
call fcn.0053fdf0
lea eax, [ebp - 0x38]
push eax
push 0x61d060
lea ecx, [ebp - 0x3c]
call fcn.0053fb00
test al, al
je 0x56ca79
lea ecx, [ebp - 0x38]
call fcn.005451f0
test al, al
jne 0x56ca79
call fcn.0053d9e0
test al, al
jne 0x56ca79
push 0
lea ecx, [ebp - 0x38]
call fcn.00544f60
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56ca79
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56ca5f
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56ca59
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543e30
test eax, eax
jne 0x56cd3d
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56ca20
mov esi, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1ac]
lea ecx, [ebp - 0x1f0]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1ac], eax
call fcn.0053f740
test al, al
jne 0x56c977
mov eax, dword [ebp - 0x1b4]
inc eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x1b4], eax
je 0x56c8e1
mov esi, 0x69b9a8
mov ecx, dword [ebp - 0x240]
inc ecx
mov dword [ebp - 0x240], ecx
cmp ecx, 2
jb 0x56c880
mov dl, byte [ebp - 0x225]
mov eax, dword [ebp - 0x21c]
cmp byte [eax + 4], 0
jne 0x56fec3
xor esi, esi
mov ecx, str.HKCR
mov dword [ebp - 0x1b0], esi
cmp esi, 1
jne 0x56cb00
test dl, dl
je 0x56d45f
cmp byte [eax + 4], 0
jne 0x56fec3
cmp esi, 1
mov eax, 0x65f57c
cmovne eax, ecx
lea ecx, [ebp - 0x2c]
push eax
call fcn.00545870
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fdf0
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56d444
xor ecx, ecx
mov dword [ebp - 0x1b4], ecx
cmp byte [eax + 4], cl
jne 0x56d444
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.0053f740
test al, al
je 0x56d43e
mov eax, dword [ebp - 0x1cc]
cmp word [eax], 0x2e
je 0x56d419
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 0x61d058
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xa4]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0xa4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fdf0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f5a0
lea ecx, [ebp - 0xa4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xb4]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0xb4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x3c]
call fcn.0053fdf0
test al, al
je 0x56cfc3
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x1bc], 0
push eax
push 0
lea ecx, [ebp - 0x3c]
call fcn.0053f740
test al, al
je 0x56cfc3
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1e4]
lea ecx, [ebp - 0xb4]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0xc0]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0xc0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x68]
call fcn.0053fdf0
test al, al
je 0x56ce1c
lea eax, [ebp - 0x38]
push eax
push 0x62827c
lea ecx, [ebp - 0x68]
call fcn.0053fb00
test al, al
je 0x56ce1c
lea ecx, [ebp - 0x38]
call fcn.00545700
cmp eax, 4
jle 0x56ce1c
push esi
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0053da60
mov esi, dword [ebp - 0x220]
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56ce22
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56cd24
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56cd1e
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543e30
test eax, eax
jne 0x56cdba
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56cce5
jmp 0x56ce22
cmp dword [ebp - 0x1d4], 1
lea ecx, [ebp - 0xa4]
ja 0x56cd4f
lea ecx, [ebp - 0x74]
call fcn.005454f0
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 - 0x1bc], eax
call fcn.005454f0
push eax
push 0x699bf8
push dword [ebp - 0x1bc]
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
mov esi, dword [ebp - 0x21c]
push eax
push esi
call fcn.0056b510
jmp 0x56ca79
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005454f0
push eax
push 0x69bdcc
lea ecx, [ebp - 0xc0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
jmp 0x56ce22
mov esi, dword [ebp - 0x220]
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 - 0xc0]
call fcn.00543b40
push ecx
push 0x20019
lea ecx, [ebp - 0xc0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x68]
call fcn.0053fdf0
lea eax, [ebp - 0x38]
push eax
push 0x61d060
lea ecx, [ebp - 0x68]
call fcn.0053fb00
test al, al
je 0x56cf98
lea ecx, [ebp - 0x38]
call fcn.00545700
cmp eax, 3
jle 0x56cf98
push 3
push 1
push 1
push 1
push 0x61ec30
lea ecx, [ebp - 0x38]
call fcn.00543e30
cmp eax, 1
je 0x56cf98
cmp eax, 2
je 0x56cf98
push dword [ebp - 0x1b0]
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0053da60
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56cf98
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56cf1b
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56cf15
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543e30
test eax, eax
jne 0x56cf31
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56cee0
jmp 0x56cf98
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005454f0
push eax
push 0x699bf8
push dword [ebp - 0x1e4]
lea ecx, [ebp - 0xb4]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov esi, dword [ebp - 0x1bc]
lea eax, [ebp - 0x1e4]
inc esi
lea ecx, [ebp - 0x3c]
push eax
push esi
mov dword [ebp - 0x1bc], esi
call fcn.0053f740
mov esi, dword [ebp - 0x1b0]
test al, al
jne 0x56cc37
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 - 0xa4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xb4]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0xb4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x3c]
call fcn.0053fdf0
lea eax, [ebp - 0x38]
push eax
push 0x61d060
lea ecx, [ebp - 0x3c]
call fcn.0053fb00
test al, al
je 0x56d167
lea ecx, [ebp - 0x38]
call fcn.00545700
cmp eax, 3
jle 0x56d167
lea ecx, [ebp - 0x38]
call fcn.00545700
test eax, eax
je 0x56d057
push 1
lea ecx, [ebp - 0x38]
call fcn.005457a0
cmp word [eax], 0x7b
je 0x56d167
push 4
push 1
push 1
push 1
push 0x61ec30
lea ecx, [ebp - 0x38]
call fcn.00543e30
cmp eax, 1
je 0x56d167
cmp eax, 2
je 0x56d167
push esi
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0053da60
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56d167
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
nop dword [eax]
cmp dword [esi + eax*4], 0
je 0x56d0eb
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56d0e5
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543e30
test eax, eax
jne 0x56d101
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56d0b0
jmp 0x56d161
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005454f0
push eax
push 0x699bf8
lea ecx, [ebp - 0xb4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov esi, dword [ebp - 0x1b0]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69c048
lea ecx, [ebp - 0xa4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xb4]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0xb4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x3c]
call fcn.0053fdf0
test al, al
je 0x56d419
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x1ac], 0
push eax
push 0
lea ecx, [ebp - 0x3c]
call fcn.0053f740
test al, al
je 0x56d419
nop dword [eax]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f5a0
push dword [ebp - 0x1e4]
lea ecx, [ebp - 0xb4]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0xc0]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0xc0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x68]
call fcn.0053fdf0
test al, al
je 0x56d3ee
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1bc], 0
push eax
push 0
lea ecx, [ebp - 0x68]
call fcn.0053f740
test al, al
je 0x56d3ee
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 - 0x1fc]
lea ecx, [ebp - 0xc0]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x124]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0x124]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xa8]
call fcn.0053fdf0
test al, al
je 0x56d3c3
lea eax, [ebp - 0x38]
push eax
push 0x61d060
lea ecx, [ebp - 0xa8]
call fcn.0053fb00
test al, al
je 0x56d3c3
lea ecx, [ebp - 0x38]
call fcn.00545700
cmp eax, 4
jl 0x56d3c3
push esi
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0053da60
xor esi, esi
test edi, edi
je 0x56d3c3
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [eax + esi*4], 0
je 0x56d34c
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56d346
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543e30
test eax, eax
jne 0x56d35c
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x220]
inc esi
add ecx, 0xc
mov dword [ebp - 0x1a4], ecx
cmp esi, edi
jb 0x56d311
jmp 0x56d3c3
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005454f0
push eax
push 0x699bf8
push dword [ebp - 0x1fc]
lea ecx, [ebp - 0xc0]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push esi
push dword [ebp - 0x234]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x220]
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov eax, dword [ebp - 0x1bc]
lea ecx, [ebp - 0x1fc]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x1bc], eax
call fcn.0053f740
mov esi, dword [ebp - 0x1b0]
test al, al
jne 0x56d260
mov eax, dword [ebp - 0x1ac]
lea ecx, [ebp - 0x1e4]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x1ac], eax
call fcn.0053f740
mov esi, dword [ebp - 0x1b0]
test al, al
jne 0x56d1e0
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1b4]
mov esi, dword [ebp - 0x1b0]
inc ecx
mov dword [ebp - 0x1b4], ecx
cmp byte [eax + 4], 0
je 0x56cb54
jmp 0x56d444
mov eax, dword [ebp - 0x21c]
mov dl, byte [ebp - 0x225]
inc esi
mov dword [ebp - 0x1b0], esi
mov ecx, str.HKCR
cmp esi, 2
jb 0x56caf3
cmp byte [eax + 4], 0
jne 0x56fec3
push 0x65f458
lea ecx, [ebp - 0x2c]
call fcn.00545870
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fdf0
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56d7a3
xor ecx, ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], cl
jne 0x56d7a3
nop dword [eax]
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.0053f740
test al, al
je 0x56d79d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x74]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fdf0
test al, al
je 0x56d627
lea eax, [ebp - 0x38]
push eax
push 0x6287b4
lea ecx, [ebp - 0x1c]
call fcn.0053fb00
test al, al
je 0x56d627
lea ecx, [ebp - 0x38]
call fcn.00545700
cmp eax, 3
jle 0x56d627
mov eax, dword [ebp - 0x224]
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
movzx eax, byte [eax + 0x11]
push eax
call fcn.0053da60
mov esi, dword [ebp - 0x220]
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56d62d
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56d5b2
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56d5ac
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543e30
test eax, eax
jne 0x56d5c8
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56d577
jmp 0x56d62d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005454f0
push eax
push 0x699bf8
lea ecx, [ebp - 0x74]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
jmp 0x56d62d
mov esi, dword [ebp - 0x220]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x64d0c0
lea ecx, [ebp - 0x74]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xa4]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0xa4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fdf0
test al, al
je 0x56d77e
lea eax, [ebp - 0x38]
push eax
push 0x64d160
lea ecx, [ebp - 0x1c]
call fcn.0053fb00
test al, al
je 0x56d77e
lea ecx, [ebp - 0x38]
call fcn.00545700
cmp eax, 3
jle 0x56d77e
push 0
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0053da60
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56d77e
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x1a4], ecx
nop
cmp dword [esi + eax*4], 0
je 0x56d70b
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56d705
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543e30
test eax, eax
jne 0x56d721
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56d6d0
jmp 0x56d77e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005454f0
push eax
push 0x699bf8
lea ecx, [ebp - 0x74]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1bc]
inc ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], 0
je 0x56d4b0
jmp 0x56d7a3
mov eax, dword [ebp - 0x21c]
cmp byte [eax + 4], 0
jne 0x56fec3
xor esi, esi
mov ecx, 0x69c310
mov dword [ebp - 0x1ac], esi
nop word [eax + eax]
cmp esi, 1
jne 0x56d7d2
cmp byte [ebp - 0x225], 0
je 0x56d9cf
cmp byte [eax + 4], 0
jne 0x56fec3
cmp esi, 1
mov eax, 0x69c280
cmovne eax, ecx
lea ecx, [ebp - 0x2c]
push eax
call fcn.00545870
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fdf0
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56d9ba
xor ecx, ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], cl
jne 0x56d9ba
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.0053f740
test al, al
je 0x56d9ae
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x74]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fdf0
test al, al
je 0x56d98f
lea eax, [ebp - 0x38]
push eax
push 0x61d060
lea ecx, [ebp - 0x1c]
call fcn.0053fb00
test al, al
je 0x56d98f
lea ecx, [ebp - 0x38]
call fcn.00545700
cmp eax, 3
jle 0x56d98f
push 0
lea ecx, [ebp - 0x38]
call fcn.00544f60
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56d98f
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56d91c
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56d916
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543e30
test eax, eax
jne 0x56d932
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56d8e1
jmp 0x56d98f
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.005454f0
push eax
push 0x699bf8
lea ecx, [ebp - 0x74]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1bc]
inc ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], 0
je 0x56d826
jmp 0x56d9b4
mov eax, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1ac]
inc esi
mov ecx, 0x69c310
mov dword [ebp - 0x1ac], esi
cmp esi, 2
jb 0x56d7c0
cmp byte [eax + 4], 0
jne 0x56fec3
call fcn.00541b70
push ecx
push 0x20019
push 0x654314
lea ecx, [ebp - 0x1c]
movsd qword [ebp - 0x1d8], xmm0
call fcn.0053fdf0
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56de96
xor ecx, ecx
mov dword [ebp - 0x1b4], ecx
cmp byte [eax + 4], cl
jne 0x56de96
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x1c]
call fcn.0053f740
test al, al
je 0x56de90
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
call fcn.00545870
push 0
push 1
push 1
push 0
push 0x66a394
lea ecx, [ebp - 0x2c]
call fcn.00543e30
cmp eax, 1
jne 0x56de71
sub esp, 0xc
lea ecx, [ebp - 0x2c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x66a3c0
call fcn.005438d0
movsd xmm0, qword [ebp - 0x1d8]
comisd xmm0, xmmword [0x6e3258]
jb 0x56dca1
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69c4f8
lea ecx, [ebp - 0x2c]
call fcn.00543b40
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fdf0
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56de77
xor ecx, ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], cl
jne 0x56de77
nop dword [eax + eax]
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.0053f6a0
test al, al
je 0x56de71
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x18]
call fcn.0053fb00
test al, al
je 0x56dc7f
lea ecx, [ebp - 0x38]
call fcn.00545700
cmp eax, 0x19
jl 0x56dc7f
push 0
push 1
push 1
push 0
push 0x69c578
lea ecx, [ebp - 0x38]
call fcn.00543e30
test eax, eax
je 0x56dc7f
add eax, 4
lea ecx, [ebp - 0x38]
push eax
call fcn.00544110
push 0
push 1
push 1
push 0
push 0x621ab0
lea ecx, [ebp - 0x38]
call fcn.00543e30
test eax, eax
je 0x56db7e
push eax
lea ecx, [ebp - 0x38]
call fcn.005441c0
push 0
push 1
push 0xffffffffffffffff
push 1
push 0x61d194
lea ecx, [ebp - 0x38]
call fcn.00543e30
test eax, eax
je 0x56dc7f
dec eax
lea ecx, [ebp - 0x38]
push eax
call fcn.005441c0
push 0
lea ecx, [ebp - 0x38]
call fcn.00544f60
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56dc7f
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56dc0c
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56dc06
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543e30
test eax, eax
jne 0x56dc22
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56dbd1
jmp 0x56dc7f
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a12cc
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x624a18
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1bc]
inc ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], 0
je 0x56daf0
jmp 0x56de77
mov eax, dword [ebp - 0x21c]
xor esi, esi
mov dword [ebp - 0x1ac], esi
nop
cmp byte [eax + 4], 0
jne 0x56de77
test esi, esi
jne 0x56dccf
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x69c5b0
jmp 0x56dced
cmp esi, 1
jne 0x56dcfe
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69c668
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x74]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fdf0
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56de5f
xor ecx, ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], cl
jne 0x56de5f
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.0053f6a0
test al, al
je 0x56de53
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x38]
call fcn.00545870
push 0
lea ecx, [ebp - 0x38]
call fcn.00544f60
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56de34
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56ddc1
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56ddbb
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543e30
test eax, eax
jne 0x56ddd7
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56dd86
jmp 0x56de34
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a1304
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x624a18
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1bc]
inc ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], 0
je 0x56dd34
jmp 0x56de59
mov eax, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1ac]
inc esi
mov dword [ebp - 0x1ac], esi
cmp esi, 2
jb 0x56dcb0
jmp 0x56de77
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1b4]
inc ecx
cmp byte [eax + 4], 0
mov dword [ebp - 0x1b4], ecx
je 0x56da18
jmp 0x56de96
mov eax, dword [ebp - 0x21c]
cmp byte [eax + 4], 0
jne 0x56fec3
push 0
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0x23c], 0
push eax
lea edx, [ebp - 0x240]
mov dword [ebp - 0x240], 0
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x1bc], 0
call fcn.004fb120
mov ecx, dword [ebp - 0x23c]
xorps xmm0, xmm0
movlpd qword [ebp - 0x170], xmm0
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x240]
movlpd qword [ebp - 0x178], xmm0
mov dword [ebp - 0x178], edx
mov edx, dword [ebp - 0x1bc]
movlpd qword [ebp - 0x180], xmm0
mov dword [ebp - 0x180], edx
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x1b8], 0
test eax, eax
je 0x56e160
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x40], ecx
nop dword [eax]
cmp byte [eax + 4], 0
jne 0x56e160
xor esi, esi
mov dword [ebp - 0x1b4], esi
cmp byte [eax + 4], 0
jne 0x56e141
test esi, esi
jne 0x56df70
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x69c728
jmp 0x56dfaa
cmp esi, 1
jne 0x56df8e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69c7e8
jmp 0x56dfaa
cmp esi, 3
jne 0x56dfbd
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69ca50
call fcn.005454f0
push eax
push str.HKU_
lea ecx, [ebp - 0x2c]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fdf0
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56e12e
xor ecx, ecx
mov dword [ebp - 0x1ac], ecx
cmp byte [eax + 4], cl
jne 0x56e12e
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.0053f6a0
test al, al
je 0x56e122
mov ecx, dword [ebp - 0x1cc]
call fcn.00542020
cmp eax, 3
jl 0x56e103
cmp word [ecx + 2], 0x3a
jne 0x56e103
push ecx
lea ecx, [ebp - 0x58]
call fcn.00545870
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56e103
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56e090
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56e08a
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543e30
test eax, eax
jne 0x56e0a6
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56e055
jmp 0x56e103
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a1338
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x624a18
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1ac]
inc ecx
mov dword [ebp - 0x1ac], ecx
cmp byte [eax + 4], 0
je 0x56dff3
jmp 0x56e128
mov eax, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x40]
inc esi
mov dword [ebp - 0x1b4], esi
cmp esi, 3
jb 0x56df52
mov edx, dword [ebp - 0x1b8]
add ecx, 0xc
inc edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x1b8], edx
cmp edx, dword [ebp - 0x1b0]
jb 0x56df40
mov edx, dword [ebp - 0x21c]
cmp byte [edx + 4], 0
jne 0x56fe1c
xor esi, esi
mov dword [ebp - 0x1b4], esi
nop dword [eax + eax]
cmp byte [edx + 4], 0
jne 0x56fe1c
test esi, esi
jne 0x56e195
push 0x69c870
jmp 0x56e1b7
cmp esi, 1
jne 0x56e1a1
push 0x69c900
jmp 0x56e1b7
cmp esi, 2
jne 0x56e1ad
push 0x69c9a8
jmp 0x56e1b7
cmp esi, 3
jne 0x56e1bf
push 0x69c9f0
lea ecx, [ebp - 0x2c]
call fcn.00545870
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fdf0
mov edx, dword [ebp - 0x21c]
test al, al
je 0x56e330
xor eax, eax
mov dword [ebp - 0x1ac], eax
cmp byte [edx + 4], al
jne 0x56e330
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0053f6a0
test al, al
je 0x56e324
mov ecx, dword [ebp - 0x1cc]
call fcn.00542020
cmp eax, 3
jl 0x56e305
cmp word [ecx + 2], 0x3a
jne 0x56e305
push ecx
lea ecx, [ebp - 0x58]
call fcn.00545870
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56e305
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56e292
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56e28c
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543e30
test eax, eax
jne 0x56e2a8
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56e257
jmp 0x56e305
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a1338
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x624a18
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1ac]
inc eax
mov dword [ebp - 0x1ac], eax
cmp byte [edx + 4], 0
je 0x56e1f5
jmp 0x56e32a
mov edx, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1b4]
inc esi
mov dword [ebp - 0x1b4], esi
cmp esi, 3
jb 0x56e180
cmp byte [edx + 4], 0
jne 0x56fe1c
xor esi, esi
mov dword [ebp - 0x1b4], esi
cmp byte [edx + 4], 0
jne 0x56fe1c
test esi, esi
jne 0x56e369
push 1
push 0x69cb10
jmp 0x56e374
cmp esi, 1
jne 0x56e37c
push esi
push 0x69cb98
lea ecx, [ebp - 0x2c]
call fcn.005455c0
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fdf0
mov edx, dword [ebp - 0x21c]
test al, al
je 0x56e4d9
xor eax, eax
mov dword [ebp - 0x1ac], eax
cmp byte [edx + 4], al
jne 0x56e4d9
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0053f6a0
test al, al
je 0x56e4cd
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x58]
call fcn.00545870
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56e4ae
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
nop word [eax + eax]
cmp dword [esi + eax*4], 0
je 0x56e43b
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56e435
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543e30
test eax, eax
jne 0x56e451
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56e400
jmp 0x56e4ae
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a1378
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x624a18
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1ac]
inc eax
mov dword [ebp - 0x1ac], eax
cmp byte [edx + 4], 0
je 0x56e3b2
jmp 0x56e4d3
mov edx, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1b4]
inc esi
mov dword [ebp - 0x1b4], esi
cmp esi, 2
jb 0x56e352
cmp byte [edx + 4], 0
jne 0x56fe1c
mov eax, dword [ebp - 0x1b0]
xor esi, esi
mov dword [ebp - 0x40], esi
add eax, 2
je 0x56e9fa
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x244], ecx
cmp byte [edx + 4], 0
jne 0x56fe1c
mov eax, dword [ebp - 0x1b0]
cmp esi, eax
jne 0x56e536
push 0x6542e8
lea ecx, [ebp - 0x2c]
call fcn.00545870
jmp 0x56e581
inc eax
cmp esi, eax
jne 0x56e557
cmp byte [ebp - 0x225], 0
je 0x56e9fa
push 0x69c40c
lea ecx, [ebp - 0x2c]
call fcn.00545870
jmp 0x56e581
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69c468
call fcn.005454f0
push eax
push str.HKU_
lea ecx, [ebp - 0x2c]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fdf0
mov edx, dword [ebp - 0x21c]
test al, al
je 0x56e9d0
xor eax, eax
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], al
jne 0x56e9d0
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0053f740
test al, al
je 0x56e9ca
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0xdc]
call fcn.00545870
push str.Microsoft
lea ecx, [ebp - 0xdc]
call fcn.00545820
test al, al
jne 0x56e9a8
push 0x69c4e8
lea ecx, [ebp - 0xdc]
call fcn.00545820
test al, al
jne 0x56e9a8
cmp esi, dword [ebp - 0x1b0]
jne 0x56e630
push 0x6a13b8
lea ecx, [ebp - 0xdc]
call fcn.00545820
test al, al
jne 0x56e9a8
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x74]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fdf0
test al, al
je 0x56e7b9
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0x1ac], 0
push eax
push 0
lea ecx, [ebp - 0x1c]
call fcn.0053f6a0
test al, al
je 0x56e7b9
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x1c]
call fcn.0053fb00
test al, al
je 0x56e794
push 0
lea ecx, [ebp - 0x38]
call fcn.00544f60
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56e794
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56e721
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56e71b
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543e30
test eax, eax
jne 0x56e737
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56e6e6
jmp 0x56e794
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.005454f0
push eax
push 0x699bf8
lea ecx, [ebp - 0x74]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov eax, dword [ebp - 0x1ac]
lea ecx, [ebp - 0x1f0]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1ac], eax
call fcn.0053f6a0
test al, al
jne 0x56e6a0
lea ecx, [ebp - 0x1c]
call fcn.0053fdc0
test eax, eax
je 0x56e9a8
lea eax, [ebp - 0x1f0]
xor esi, esi
push eax
push esi
mov dword [ebp - 0x1b4], esi
call fcn.0053f740
test al, al
je 0x56e9a8
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x74]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0xa4]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0xa4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x3c]
call fcn.0053fdf0
test al, al
je 0x56e989
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x1ac], 0
push eax
push 0
lea ecx, [ebp - 0x3c]
call fcn.0053f6a0
test al, al
je 0x56e989
nop dword [eax]
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x1e4]
lea ecx, [ebp - 0x3c]
call fcn.0053fb00
test al, al
je 0x56e95e
push 0
lea ecx, [ebp - 0x38]
call fcn.00544f60
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56e95e
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56e8e1
call fcn.00545700
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56e8db
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543e30
test eax, eax
jne 0x56e8f7
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x1a8]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
cmp eax, edi
jb 0x56e8a6
jmp 0x56e95e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.005454f0
push eax
push 0x699bf8
push dword [ebp - 0x1e4]
lea ecx, [ebp - 0xa4]
push 0x624a18
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a8]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov eax, dword [ebp - 0x1ac]
lea ecx, [ebp - 0x1e4]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x1ac], eax
call fcn.0053f6a0
test al, al
jne 0x56e860
mov esi, dword [ebp - 0x1b4]
lea eax, [ebp - 0x1f0]
inc esi
push eax
push esi
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1b4], esi
call fcn.0053f740
test al, al
jne 0x56e7e6
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1b8]
mov esi, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], 0
je 0x56e5b7
jmp 0x56e9d0
mov edx, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x244]
inc esi
mov eax, dword [ebp - 0x1b0]
add ecx, 0xc
mov edi, dword [ebp - 0x238]
add eax, 2
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x244], ecx
cmp esi, eax
jb 0x56e513
cmp byte [edx + 4], 0
jne 0x56fe1c
mov eax, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x210], eax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x204], eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20c], edi
mov edi, dword [ebp - 0x224]
mov dword [ebp - 0x218], edx
mov dword [ebp - 0x208], esi
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1a8], 0
nop dword [eax]
cmp byte [edx + 4], 0
jne 0x56eb39
push 0
push 0
push 0x104
lea ecx, [ebp - 0x2c]
call fcn.00544ce0
mov eax, dword [ebp - 0x1a8]
test eax, eax
jne 0x56eaa6
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
push 0
push 0
push 0x19
push 0
call dword [0x5fd60c]
test eax, eax
jne 0x56eb19
mov eax, dword [ebp - 0x1a8]
cmp eax, 1
jne 0x56eacc
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
push 0
push 0
push 0x1f
push 0
call dword [0x5fd60c]
test eax, eax
jne 0x56eb19
mov eax, dword [ebp - 0x1a8]
cmp eax, 2
jne 0x56eaec
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
push 0
push 0
push 0x16
push 0
call dword [0x5fd60c]
test eax, eax
jne 0x56eb19
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
mov ecx, edi
call fcn.0056b670
mov edx, dword [ebp - 0x21c]
mov cl, al
test cl, cl
sete al
mov byte [edx + 4], al
test cl, cl
je 0x56eb35
jmp 0x56eb1f
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1a8]
inc eax
mov dword [ebp - 0x1a8], eax
cmp eax, 3
jb 0x56ea60
cmp byte [edx + 4], 0
mov edi, dword [ebp - 0x238]
jne 0x56fe1c
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56f0b1
xorps xmm0, xmm0
mov dword [ebp - 0x15c], 0
lea ecx, [ebp - 0x164]
movq qword [ebp - 0x164], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x14c], 0
lea ecx, [ebp - 0x154]
movq qword [ebp - 0x154], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x13c], 0
lea ecx, [ebp - 0x144]
movq qword [ebp - 0x144], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0xc4], 0
lea ecx, [ebp - 0xcc]
movq qword [ebp - 0xcc], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
lea ecx, [ebp - 0x134]
movq qword [ebp - 0x134], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0xe4], 0
lea ecx, [ebp - 0xec]
movq qword [ebp - 0xec], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0xf4], 0
lea ecx, [ebp - 0xfc]
movq qword [ebp - 0xfc], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
lea ecx, [ebp - 0x98]
movq qword [ebp - 0x98], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
lea ecx, [ebp - 0x8c]
movq qword [ebp - 0x8c], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
lea ecx, [ebp - 0x80]
movq qword [ebp - 0x80], xmm0
call fcn.00545940
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 0x28
push eax
push 0
push 0
push 0x80
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0x1d4], 0x80
call fcn.00544ce0
push eax
call dword [0x5fd0bc]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0xcc]
call fcn.005454f0
lea edx, [ebp - 0x134]
mov ecx, eax
call fcn.004fb620
push 0
push 0
push 0x104
lea ecx, [ebp - 0xec]
call fcn.00544ce0
push eax
push 0
push 0
push 0xb
push 0
call dword [0x5fd60c]
lea ecx, [ebp - 0x64]
call fcn.00545700
push eax
lea ecx, [ebp - 0xec]
call fcn.00544110
push 0
push 0
push 0x104
lea ecx, [ebp - 0xfc]
call fcn.00544ce0
push eax
push 0
push 0
push 0x10
push 0
call dword [0x5fd60c]
lea ecx, [ebp - 0x64]
call fcn.00545700
push eax
lea ecx, [ebp - 0xfc]
call fcn.00544110
push 0
push 0
push 0x104
lea ecx, [ebp - 0x98]
call fcn.00544ce0
push eax
push 0
push 0
push 8
push 0
call dword [0x5fd60c]
lea ecx, [ebp - 0x64]
call fcn.00545700
push eax
lea ecx, [ebp - 0x98]
call fcn.00544110
push 0
push 0
push 0x104
lea ecx, [ebp - 0x8c]
call fcn.00544ce0
push eax
push 0
push 0
push 6
push 0
call dword [0x5fd60c]
lea ecx, [ebp - 0x64]
call fcn.00545700
push eax
lea ecx, [ebp - 0x8c]
call fcn.00544110
push 0
push 0
push 0x104
lea ecx, [ebp - 0x80]
call fcn.00544ce0
push eax
push 0
push 0
push 0x1a
push 0
call dword [0x5fd60c]
lea ecx, [ebp - 0x64]
call fcn.00545700
push eax
lea ecx, [ebp - 0x80]
call fcn.00544110
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x641128
lea ecx, [ebp - 0x80]
call fcn.00543b40
cmp dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
jbe 0x56f02e
mov edi, dword [ebp - 0x240]
mov esi, dword [ebp - 0x21c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0xec]
call fcn.005454f0
push eax
mov ecx, edi
call fcn.005454f0
push eax
lea ecx, [ebp - 0x64]
call fcn.00545560
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x64]
call fcn.005454f0
mov ecx, dword [ebp - 0x224]
push eax
call fcn.0056b670
mov cl, al
test cl, cl
sete al
mov byte [esi + 4], al
test cl, cl
je 0x56f022
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0xfc]
call fcn.005454f0
push eax
mov ecx, edi
call fcn.005454f0
push eax
lea ecx, [ebp - 0x64]
call fcn.00545560
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x64]
call fcn.005454f0
mov ecx, dword [ebp - 0x224]
push eax
call fcn.0056b670
mov cl, al
test cl, cl
sete al
mov byte [esi + 4], al
test cl, cl
je 0x56f022
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x98]
call fcn.005454f0
push eax
mov ecx, edi
call fcn.005454f0
push eax
lea ecx, [ebp - 0x64]
call fcn.00545560
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x64]
call fcn.005454f0
mov ecx, dword [ebp - 0x224]
push eax
call fcn.0056b670
mov cl, al
test cl, cl
sete al
mov byte [esi + 4], al
test cl, cl
je 0x56f022
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.005454f0
push eax
mov ecx, edi
call fcn.005454f0
push eax
lea ecx, [ebp - 0x64]
call fcn.00545560
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x64]
call fcn.005454f0
mov ecx, dword [ebp - 0x224]
push eax
call fcn.0056b670
mov cl, al
test cl, cl
sete al
mov byte [esi + 4], al
test cl, cl
je 0x56f022
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.005454f0
push eax
mov ecx, edi
call fcn.005454f0
push eax
lea ecx, [ebp - 0x64]
call fcn.00545560
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x64]
call fcn.005454f0
mov ecx, dword [ebp - 0x224]
push eax
call fcn.0056b670
mov cl, al
test cl, cl
sete al
mov byte [esi + 4], al
test cl, cl
je 0x56f022
mov eax, dword [ebp - 0x1ac]
add edi, 0xc
inc eax
mov dword [ebp - 0x1ac], eax
cmp eax, dword [ebp - 0x1b0]
jb 0x56ee40
mov edi, dword [ebp - 0x238]
mov esi, dword [ebp - 0x220]
lea ecx, [ebp - 0x80]
call fcn.00545790
lea ecx, [ebp - 0x8c]
call fcn.00545790
lea ecx, [ebp - 0x98]
call fcn.00545790
lea ecx, [ebp - 0xfc]
call fcn.00545790
lea ecx, [ebp - 0xec]
call fcn.00545790
lea ecx, [ebp - 0x134]
call fcn.00545790
lea ecx, [ebp - 0xcc]
call fcn.00545790
lea ecx, [ebp - 0x64]
call fcn.00545790
lea ecx, [ebp - 0x144]
call fcn.00545790
lea ecx, [ebp - 0x154]
call fcn.00545790
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x1d
call fcn.00545790
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1b0]
cmp byte [edx + 4], 0
jne 0x56fe1c
xor ecx, ecx
mov dword [ebp - 0xcc], 0x640338
mov dword [ebp - 0xc8], 0x65f558
mov dword [ebp - 0xc4], 0x65f568
mov dword [ebp - 0x40], ecx
add eax, 2
je 0x56f38b
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], 0
jne 0x56fe1c
mov eax, dword [ebp - 0x1b0]
inc eax
cmp ecx, eax
jne 0x56f115
cmp byte [ebp - 0x225], 0
je 0x56f38b
xor eax, eax
mov dword [ebp - 0x1b4], eax
nop dword [eax]
cmp byte [edx + 4], 0
jne 0x56f369
cmp ecx, dword [ebp - 0x1b0]
jae 0x56f161
mov ecx, dword [ebp - 0x1b8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + eax*4 - 0xcc]
push 0x65f4a8
call fcn.005454f0
push eax
push str.HKU_
jmp 0x56f1b6
jne 0x56f185
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + eax*4 - 0xcc]
push 0x67c438
jmp 0x56f1b6
mov edx, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x220]
inc edx
cmp ecx, edx
jne 0x56f1be
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + eax*4 - 0xcc]
push 0x67c320
lea ecx, [ebp - 0x2c]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fdf0
test al, al
je 0x56f34a
lea eax, [ebp - 0x1cc]
mov dword [ebp - 0x1ac], 0
push eax
push 0
lea ecx, [ebp - 0x18]
call fcn.0053f6a0
test al, al
je 0x56f34a
mov eax, dword [ebp - 0x1c8]
cmp eax, 1
je 0x56f214
cmp eax, 2
jne 0x56f325
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x18]
call fcn.0053fb00
test al, al
je 0x56f325
lea ecx, [ebp - 0x58]
call fcn.005451f0
test al, al
jne 0x56f325
cmp dword [ebp - 0x1c8], 2
jne 0x56f24e
push 0
call fcn.00544f60
xor eax, eax
mov dword [ebp - 0x1a4], eax
test edi, edi
je 0x56f325
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x238], ecx
nop word [eax + eax]
cmp dword [esi + eax*4], 0
je 0x56f2ab
call fcn.00545700
mov ecx, dword [ebp - 0x238]
test eax, eax
je 0x56f2a5
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543e30
test eax, eax
jne 0x56f2c1
mov ecx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x1a4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x238], ecx
cmp eax, edi
jb 0x56f270
jmp 0x56f325
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005454f0
push eax
push 0x699bf8
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x624a18
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov eax, dword [ebp - 0x1ac]
lea ecx, [ebp - 0x1cc]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x1ac], eax
call fcn.0053f6a0
test al, al
jne 0x56f200
mov eax, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x21c]
inc eax
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x1b4], eax
cmp eax, 3
jb 0x56f120
mov eax, dword [ebp - 0x1b0]
inc ecx
add dword [ebp - 0x1b8], 0xc
add eax, 2
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x40], ecx
cmp ecx, eax
jb 0x56f0f3
cmp byte [edx + 4], 0
jne 0x56fe1c
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56f596
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x40], ecx
cmp byte [edx + 4], 0
jne 0x56fe1c
xor eax, eax
mov dword [ebp - 0x1b4], eax
nop dword [eax + eax]
cmp byte [edx + 4], 0
jne 0x56f577
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
cmp eax, 1
jne 0x56f3f8
push 0x655ef8
jmp 0x56f3fd
push 0x655f60
call fcn.005454f0
push eax
push str.HKU_
lea ecx, [ebp - 0x2c]
call fcn.00545560
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fdf0
mov edx, dword [ebp - 0x21c]
test al, al
je 0x56f55e
xor eax, eax
mov dword [ebp - 0x1ac], eax
cmp byte [edx + 4], al
jne 0x56f55e
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0053f6a0
test al, al
je 0x56f558
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x38]
call fcn.00545870
xor eax, eax
mov dword [ebp - 0x1a4], eax
test edi, edi
je 0x56f539
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x238], ecx
cmp dword [esi + eax*4], 0
je 0x56f4c3
call fcn.00545700
mov ecx, dword [ebp - 0x238]
test eax, eax
je 0x56f4bd
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543e30
test eax, eax
jne 0x56f4d9
mov ecx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x1a4]
inc eax
add ecx, 0xc
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x238], ecx
cmp eax, edi
jb 0x56f488
jmp 0x56f539
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a13d0
lea ecx, [ebp - 0x38]
call fcn.005454f0
push eax
push 0x624a18
lea ecx, [ebp - 0x2c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1a4]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1ac]
inc eax
mov dword [ebp - 0x1ac], eax
cmp byte [edx + 4], 0
je 0x56f446
jmp 0x56f55e
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x1b4], eax
cmp eax, 2
jb 0x56f3d0
mov eax, dword [ebp - 0x1b8]
add ecx, 0xc
inc eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x1b8], eax
cmp eax, dword [ebp - 0x1b0]
jb 0x56f3b6
cmp byte [edx + 4], 0
jne 0x56fe1c
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
lea ecx, [ebp - 0x8c]
movq qword [ebp - 0x8c], xmm0
call fcn.00545940
mov byte [ebp - 4], 0x29
call fcn.00541b70
movsd xmm1, qword [0x6e3258]
lea ecx, [ebp - 0x8c]
comisd xmm1, xmm0
push 0x104
push 0
push 0
push 0x104
jbe 0x56f9fd
call fcn.00544ce0
push eax
call dword [0x5fd428]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6653d4
lea ecx, [ebp - 0x8c]
call fcn.00543b40
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
lea ecx, [ebp - 0x98]
movq qword [ebp - 0x98], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
lea ecx, [ebp - 0x80]
movq qword [ebp - 0x80], xmm0
call fcn.00545940
mov dword [ebp - 0x1b0], 0
lea eax, [ebp - 0x1b0]
push eax
push 0x6802d0
push 1
push 0
push 0x68026c
call dword [0x5fdad8]
test eax, eax
jns 0x56f6a1
mov byte [ebp - 4], 0x2e
jmp 0x56f9c3
mov dword [ebp - 0x1a4], 0
mov byte [ebp - 4], 0x2f
lea edx, [ebp - 0x1a4]
mov eax, dword [ebp - 0x1b0]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
test eax, eax
jns 0x56f6e3
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x1a4]
test eax, eax
je 0x56f6da
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x31
jmp 0x56f9c3
mov eax, dword [ebp - 0x1a4]
lea edx, [ebp - 0x40]
push edx
lea edx, [ebp - 0x1b8]
mov dword [ebp - 0x40], 0
push edx
mov ecx, dword [eax]
push 5
push eax
call dword [ecx + 0xc]
test eax, eax
js 0x56f9ab
nop dword [eax + eax]
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x56f9ab
xor esi, esi
mov dword [ebp - 0x1d4], esi
test eax, eax
je 0x56f97e
nop dword [eax + eax]
mov eax, dword [ebp - 0x21c]
cmp byte [eax + 4], 0
jne 0x56f97e
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x98]
push dword [eax + esi*4]
call fcn.00545870
mov eax, dword [ebp - 0x1b8]
push dword [eax + esi*4]
call dword [0x5fdac0]
mov dword [ebp - 0x1a8], 0
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x98]
mov eax, dword [ebp - 0x1b0]
mov esi, dword [eax]
lea eax, [ebp - 0x1a8]
push eax
push 0x680398
call fcn.005454f0
push eax
push dword [ebp - 0x1b0]
call dword [esi + 0x18]
test eax, eax
jns 0x56f7a7
mov byte [ebp - 4], 0x33
jmp 0x56f954
mov eax, dword [ebp - 0x1a8]
lea edx, [ebp - 0x1b4]
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1ac], 0
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x84]
mov eax, dword [ebp - 0x1a8]
lea edx, [ebp - 0x1ac]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x8c]
push dword [ebp - 0x1b4]
lea ecx, [ebp - 0x64]
call fcn.00545870
push dword [ebp - 0x1ac]
lea ecx, [ebp - 0x80]
call fcn.00545870
mov eax, dword [ebp - 0x1b4]
mov esi, dword [0x5fdac0]
test eax, eax
je 0x56f816
push eax
call esi
mov eax, dword [ebp - 0x1ac]
test eax, eax
je 0x56f823
push eax
call esi
lea ecx, [ebp - 0x80]
call fcn.00545700
test eax, eax
je 0x56f859
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.005454f0
push eax
push 0x61e0f8
lea ecx, [ebp - 0x64]
call fcn.00543b40
push 0
lea ecx, [ebp - 0x64]
call fcn.00544f60
push 4
lea ecx, [ebp - 0x98]
call fcn.00544180
xor eax, eax
mov dword [ebp - 0x244], eax
test edi, edi
je 0x56f950
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x238], ecx
cmp dword [esi + eax*4], 0
je 0x56f8cd
call fcn.00545700
mov ecx, dword [ebp - 0x238]
test eax, eax
je 0x56f8c7
push 0
push 1
push 1
push 0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x64]
call fcn.00543e30
test eax, eax
jne 0x56f8e6
mov ecx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x244]
inc eax
add ecx, 0xc
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x238], ecx
cmp eax, edi
jb 0x56f892
jmp 0x56f950
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x64]
call fcn.005454f0
push eax
push 0x699bf8
lea ecx, [ebp - 0x98]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x8c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x244]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push esi
push dword [ebp - 0x230]
push eax
push dword [ebp - 0x21c]
call fcn.0056b510
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x1a8]
test eax, eax
je 0x56f964
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x2f
mov esi, dword [ebp - 0x1d4]
inc esi
mov dword [ebp - 0x1d4], esi
cmp esi, dword [ebp - 0x40]
jb 0x56f730
push dword [ebp - 0x1b8]
call dword [0x5fdac0]
mov eax, dword [ebp - 0x1a4]
lea edx, [ebp - 0x40]
push edx
lea edx, [ebp - 0x1b8]
push edx
mov ecx, dword [eax]
push 5
push eax
call dword [ecx + 0xc]
test eax, eax
jns 0x56f710
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x1a4]
test eax, eax
je 0x56f9bf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56f9d3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x80]
call fcn.00545790
lea ecx, [ebp - 0x64]
call fcn.00545790
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x29
call fcn.00545790
mov esi, dword [ebp - 0x21c]
jmp 0x56fce6
call fcn.00544ce0
push eax
call dword [0x5fd488]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6288b8
lea ecx, [ebp - 0x8c]
call fcn.00543b40
mov dword [ebp - 0x1b0], 0
lea eax, [ebp - 0x1b0]
push eax
push 0x617730
push 1
push 0
push 0x617740
call dword [0x5fdad8]
test eax, eax
jns 0x56fa77
mov byte [ebp - 4], 0x38
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56fa6c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x21c]
jmp 0x56fce2
mov esi, dword [0x5fd588]
lea eax, [ebp - 0x138]
push eax
call esi
movups xmm0, xmmword [ebp - 0x138]
lea eax, [ebp - 0x148]
push eax
movups xmmword [ebp - 0xd0], xmm0
call esi
movups xmm0, xmmword [ebp - 0x148]
lea eax, [ebp - 0x158]
push eax
movups xmmword [ebp - 0xf0], xmm0
call esi
movups xmm0, xmmword [ebp - 0x158]
lea eax, [ebp - 0x168]
push eax
movups xmmword [ebp - 0x100], xmm0
call esi
mov byte [ebp - 4], 0x3c
sub esp, 0x10
movups xmm0, xmmword [ebp - 0xd0]
mov eax, dword [ebp - 0x1b0]
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0xf0]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x100]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [ebp - 0x168]
push eax
movups xmmword [ecx], xmm0
call dword [edx + 0x28]
mov esi, dword [0x5fd578]
shr eax, 0x1f
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x168]
push eax
call esi
lea eax, [ebp - 0x158]
push eax
call esi
lea eax, [ebp - 0x148]
push eax
call esi
lea eax, [ebp - 0x138]
push eax
call esi
cmp byte [ebp - 0x1d4], 0
je 0x56fb76
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56fa6c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x21c]
jmp 0x56fce2
mov dword [ebp - 0x1b8], 0
push 0xc
mov byte [ebp - 4], 0x3e
call fcn.0041e683
mov esi, eax
add esp, 4
mov dword [ebp - 0x1d4], esi
mov byte [ebp - 4], 0x3f
test esi, esi
je 0x56fbd1
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
push 0x61d058
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [0x5fd57c]
mov dword [esi], eax
test eax, eax
je 0x570040
jmp 0x56fbd3
xor esi, esi
mov byte [ebp - 4], 0x3e
mov dword [ebp - 0x1d4], esi
test esi, esi
je 0x57004a
mov byte [ebp - 4], 0x40
lea edx, [ebp - 0x1b8]
mov eax, dword [ebp - 0x1b0]
push edx
push dword [esi]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
shr eax, 0x1f
mov dword [ebp - 0x1d4], eax
or eax, 0xffffffff
mov byte [ebp - 4], 0x3e
lock xadd dword [esi + 8], eax
dec eax
jne 0x56fc4b
mov eax, dword [esi]
test eax, eax
je 0x56fc29
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x56fc40
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
add esp, 8
cmp byte [ebp - 0x1d4], 0
je 0x56fc88
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0x1b8]
test eax, eax
je 0x56fc68
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56fa6c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x21c]
jmp 0x56fce2
lea ecx, [ebp - 0x8c]
call fcn.005454f0
mov ecx, dword [ebp - 0x224]
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x1b8]
call fcn.0056baf0
mov esi, dword [ebp - 0x21c]
test al, al
sete al
mov byte [esi + 4], al
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0x1b8]
test eax, eax
je 0x56fcce
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56fce2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x29
call dword [0x5fdad4]
cmp byte [esi + 4], 0
je 0x56fd05
lea ecx, [ebp - 0x8c]
or edi, 0xffffffff
call fcn.00545790
jmp 0x56fe1f
mov dword [ebp - 0x1ac], 0
test edi, edi
je 0x56fdf8
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1a4], eax
mov ecx, eax
call fcn.00545700
test eax, eax
je 0x56fdd4
mov ecx, dword [ebp - 0x1a4]
call fcn.005454f0
push eax
call dword [0x5fd684]
test eax, eax
je 0x56fdd4
push ecx
mov ecx, dword [ebp - 0x1a4]
push 0
call fcn.005454f0
mov ecx, eax
call fcn.00534440
push edx
push eax
lea ecx, [ebp - 0xdc]
call fcn.00544260
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d170
lea ecx, [ebp - 0xdc]
call fcn.005454f0
mov ecx, dword [ebp - 0x1a4]
push eax
push 0x6a13fc
call fcn.005454f0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545560
mov ecx, dword [ebp - 0x224]
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x1ac]
lea eax, [ebp - 0x4c]
push dword [ebp - 0x234]
push dword [ebp - 0x220]
push dword [ebp - 0x230]
push eax
push esi
call fcn.0056b510
mov ecx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x1a4]
inc ecx
add eax, 0xc
mov dword [ebp - 0x1ac], ecx
mov dword [ebp - 0x1a4], eax
cmp ecx, edi
jb 0x56fd23
xor eax, eax
lea ecx, [ebp - 0x8c]
cmp byte [esi + 4], al
sete al
lea eax, [eax*2 - 1]
mov dword [ebp - 0x1d4], eax
mov edi, eax
call fcn.00545790
jmp 0x56fe1f
or edi, 0xffffffff
mov eax, dword [ebp - 0x1bc]
test eax, eax
je 0x56fe55
push fcn.00545790
lea esi, [eax - 4]
mov byte [ebp - 4], 0x45
push dword [esi]
push 0xc
push eax
call fcn.0041e708
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e478
add esp, 8
mov eax, dword [ebp - 0x240]
test eax, eax
je 0x56fe8b
push fcn.00545790
lea esi, [eax - 4]
mov byte [ebp - 4], 0x46
push dword [esi]
push 0xc
push eax
call fcn.0041e708
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e478
add esp, 8
mov eax, dword [ebp - 0x23c]
test eax, eax
je 0x56fec6
push fcn.00545790
lea esi, [eax - 4]
mov byte [ebp - 4], 0x47
push dword [esi]
push 0xc
push eax
call fcn.0041e708
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e478
add esp, 8
jmp 0x56fec6
or edi, 0xffffffff
lea ecx, [ebp - 0x1fc]
call fcn.0053fe70
lea ecx, [ebp - 0x1e4]
call fcn.0053fe70
lea ecx, [ebp - 0x1f0]
call fcn.0053fe70
lea ecx, [ebp - 0x58]
call fcn.00545790
lea ecx, [ebp - 0xdc]
call fcn.00545790
lea ecx, [ebp - 0x4c]
call fcn.00545790
lea ecx, [ebp - 0x38]
call fcn.00545790
lea ecx, [ebp - 0x124]
call fcn.00545790
lea ecx, [ebp - 0xc0]
call fcn.00545790
lea ecx, [ebp - 0xb4]
call fcn.00545790
lea ecx, [ebp - 0xa4]
call fcn.00545790
lea ecx, [ebp - 0x74]
call fcn.00545790
lea ecx, [ebp - 0xa8]
call fcn.0053fda0
lea ecx, [ebp - 0x68]
call fcn.0053fda0
lea ecx, [ebp - 0x3c]
call fcn.0053fda0
push dword [ebp - 0x234]
call fcn.0041e473
add esp, 4
push dword [ebp - 0x220]
call fcn.0041e473
mov eax, dword [ebp - 0x230]
add esp, 4
test eax, eax
je 0x56ffab
push fcn.00545790
lea esi, [eax - 4]
mov byte [ebp - 4], 0x48
push dword [esi]
push 0xc
push eax
call fcn.0041e708
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e478
add esp, 8
mov eax, dword [ebp - 0x22c]
mov byte [ebp - 4], 7
test eax, eax
je 0x56ffe5
push fcn.00545790
lea esi, [eax - 4]
mov byte [ebp - 4], 0x49
push dword [esi]
push 0xc
push eax
call fcn.0041e708
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e478
add esp, 8
lea ecx, [ebp - 0x118]
call fcn.00545790
lea ecx, [ebp - 0x10c]
call fcn.00545790
lea ecx, [ebp - 0x1cc]
call fcn.0053fe70
lea ecx, [ebp - 0x1c]
call fcn.0053fda0
lea ecx, [ebp - 0x18]
call fcn.0053fda0
lea ecx, [ebp - 0x2c]
call fcn.00545790
mov eax, edi
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.0041e465
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 0x8007000e
call fcn.0041e100
push 0x8007000e
call fcn.0041e100
int3