Function at 0x56bdc0
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 0x5f77d4
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x234
mov eax, dword [0x705200]
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.00466440
test al, al
jne 0x56be20
xor eax, eax
jmp 0x56fbf0
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.00545500
push 0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x2c]
push 0x20019
mov dword [ebp - 0x18], 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa50
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.0053fa70
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.0053f9d0
test eax, eax
jne 0x56be93
xor edi, edi
jmp 0x56fbd6
xorps xmm0, xmm0
mov dword [ebp - 0x1c4], 0
lea ecx, [ebp - 0x1cc]
movq qword [ebp - 0x1cc], xmm0
call fcn.0053fa90
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.0053f250
mov esi, eax
mov dword [ebp - 0x240], esi
test esi, esi
jne 0x56bed2
xor edi, edi
jmp 0x56fbcb
call fcn.00530470
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.0041ea8c
add esp, 4
mov dword [ebp - 0x1bc], eax
push fcn.00545380
push fcn.00545530
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.0041eac1
xorps xmm0, xmm0
mov dword [ebp - 0x104], 0
lea ecx, [ebp - 0x10c]
movq qword [ebp - 0x10c], xmm0
call fcn.00545530
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.0041ea8c
add esp, 4
mov dword [ebp - 0x1bc], eax
push fcn.00545380
push fcn.00545530
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.0041eac1
xorps xmm0, xmm0
mov dword [ebp - 0x110], 0
lea ecx, [ebp - 0x118]
movq qword [ebp - 0x118], xmm0
call fcn.00545530
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.0041ea8c
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.0041ea8c
add esp, 4
shl esi, 2
mov dword [ebp - 0x234], eax
push esi
push 0
push edi
call fcn.004201e0
add esp, 0xc
push esi
mov esi, dword [ebp - 0x234]
push 0
push esi
call fcn.004201e0
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.0053fa70
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], 0
call fcn.0053fa70
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xa8], 0
call fcn.0053fa70
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x1a4]
push dword [eax + 0x14]
call fcn.00522c70
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 0x56c2b1
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.0053f350
test al, al
je 0x56c2ab
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x118]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0x118]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fa00
mov eax, dword [ebp - 0x23c]
lea ecx, [ebp - 0x1c]
add eax, dword [ebp - 0x1d4]
push eax
push 0x664e84
call fcn.0053f710
push dword [ebp - 0x23c]
lea ecx, [ebp - 0x1c]
push 0x626cc8
call fcn.0053f710
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 0x6a18f8
call fcn.005450e0
push eax
lea ecx, [ebp - 0x10c]
call fcn.00545150
mov eax, dword [ebp - 0x21c]
lea ecx, [ebp - 0x10c]
push dword [eax + 0x14]
push 0xffffffffffffffff
push 0
push 0
call fcn.005450e0
mov ecx, dword [ebp - 0x1a4]
push eax
call fcn.005179c0
mov dword [esi + edi*4], eax
lea ecx, [ebp - 0x1c]
lea eax, [ebp - 0x1c0]
xorps xmm0, xmm0
push eax
push 0x69ec2c
movlpd qword [ebp - 0x1c0], xmm0
call fcn.0053f5f0
test al, al
je 0x56c263
mov ecx, dword [ebp - 0x1c0]
mov eax, ecx
or eax, dword [ebp - 0x1bc]
je 0x56c263
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.005173f0
push dword [ebp - 0x1c0]
call dword [0x5fd834]
jmp 0x56c297
mov ecx, dword [ebp - 0x224]
sub esp, 8
push 0
push 0x14
push 0x14
push 0xa7
call fcn.0045e340
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.005171d0
add dword [ebp - 0x23c], 0xc
inc edi
cmp edi, dword [ebp - 0x240]
jb 0x56c120
mov dword [ebp - 0x238], edi
xorps xmm0, xmm0
mov dword [ebp - 0x6c], 0
lea ecx, [ebp - 0x74]
movq qword [ebp - 0x74], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x9c], 0
lea ecx, [ebp - 0xa4]
movq qword [ebp - 0xa4], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0xac], 0
lea ecx, [ebp - 0xb4]
movq qword [ebp - 0xb4], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0xb8], 0
lea ecx, [ebp - 0xc0]
movq qword [ebp - 0xc0], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x11c], 0
lea ecx, [ebp - 0x124]
movq qword [ebp - 0x124], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x38]
movq qword [ebp - 0x38], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
lea ecx, [ebp - 0x4c]
movq qword [ebp - 0x4c], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0xd4], 0
lea ecx, [ebp - 0xdc]
movq qword [ebp - 0xdc], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
lea ecx, [ebp - 0x58]
movq qword [ebp - 0x58], xmm0
call fcn.00545530
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x1f0]
xorps xmm0, xmm0
mov dword [ebp - 0x1e8], 0
movq qword [ebp - 0x1f0], xmm0
call fcn.0053fa90
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x1e4]
xorps xmm0, xmm0
mov dword [ebp - 0x1dc], 0
movq qword [ebp - 0x1e4], xmm0
call fcn.0053fa90
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x1fc]
xorps xmm0, xmm0
mov dword [ebp - 0x1f4], 0
movq qword [ebp - 0x1fc], xmm0
call fcn.0053fa90
mov ecx, dword [ebp - 0x224]
push 0x6a1908
mov byte [ebp - 4], 0x1a
mov dword [ebp - 0x20], 0
push 0xffffffffffffffff
lea ecx, [ecx + 0x14c0]
call fcn.00513e70
xor ecx, ecx
mov esi, 0x69c008
mov dword [ebp - 0x240], ecx
nop dword [eax]
cmp ecx, 1
jne 0x56c463
mov dl, byte [ebp - 0x225]
test dl, dl
je 0x56c6a6
cmp ecx, 1
mov eax, 0x69bfd8
lea ecx, [ebp - 0x2c]
cmovne eax, esi
push eax
call fcn.00545460
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa00
test al, al
je 0x56c68a
mov esi, dword [ebp - 0x21c]
mov eax, 1
mov dword [ebp - 0x1b4], eax
cmp byte [esi + 4], 0
jne 0x56c685
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0053f350
test al, al
je 0x56c685
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x74]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fa00
lea ecx, [ebp - 0x1c]
call fcn.0053f250
mov dword [ebp - 0x1d4], eax
test eax, eax
je 0x56c66e
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0x1ac], 0
push eax
push 0
lea ecx, [ebp - 0x1c]
call fcn.0053f350
test al, al
je 0x56c66e
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0xa4]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0xa4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x3c]
call fcn.0053fa00
lea eax, [ebp - 0x38]
push eax
push 0x61d074
lea ecx, [ebp - 0x3c]
call fcn.0053f710
test al, al
je 0x56c649
lea ecx, [ebp - 0x38]
call fcn.00544e00
test al, al
jne 0x56c649
call fcn.0053d5f0
test al, al
jne 0x56c649
push 0
lea ecx, [ebp - 0x38]
call fcn.00544b70
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56c649
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56c62f
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56c629
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543a40
test eax, eax
jne 0x56c90d
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 0x56c5f0
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.0053f350
test al, al
jne 0x56c547
mov eax, dword [ebp - 0x1b4]
inc eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x1b4], eax
je 0x56c4b1
mov esi, 0x69c008
mov ecx, dword [ebp - 0x240]
inc ecx
mov dword [ebp - 0x240], ecx
cmp ecx, 2
jb 0x56c450
mov dl, byte [ebp - 0x225]
mov eax, dword [ebp - 0x21c]
cmp byte [eax + 4], 0
jne 0x56fa93
xor esi, esi
mov ecx, str.HKCR
mov dword [ebp - 0x1b0], esi
cmp esi, 1
jne 0x56c6d0
test dl, dl
je 0x56d02f
cmp byte [eax + 4], 0
jne 0x56fa93
cmp esi, 1
mov eax, 0x65f77c
cmovne eax, ecx
lea ecx, [ebp - 0x2c]
push eax
call fcn.00545460
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa00
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56d014
xor ecx, ecx
mov dword [ebp - 0x1b4], ecx
cmp byte [eax + 4], cl
jne 0x56d014
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.0053f350
test al, al
je 0x56d00e
mov eax, dword [ebp - 0x1cc]
cmp word [eax], 0x2e
je 0x56cfe9
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 0x61d06c
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0xa4]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0xa4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fa00
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f7a0
lea ecx, [ebp - 0xa4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0xb4]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0xb4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x3c]
call fcn.0053fa00
test al, al
je 0x56cb93
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x1bc], 0
push eax
push 0
lea ecx, [ebp - 0x3c]
call fcn.0053f350
test al, al
je 0x56cb93
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0xc0]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0xc0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x68]
call fcn.0053fa00
test al, al
je 0x56c9ec
lea eax, [ebp - 0x38]
push eax
push 0x62828c
lea ecx, [ebp - 0x68]
call fcn.0053f710
test al, al
je 0x56c9ec
lea ecx, [ebp - 0x38]
call fcn.005452f0
cmp eax, 4
jle 0x56c9ec
push esi
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0053d670
mov esi, dword [ebp - 0x220]
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56c9f2
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56c8f4
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56c8ee
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543a40
test eax, eax
jne 0x56c98a
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 0x56c8b5
jmp 0x56c9f2
cmp dword [ebp - 0x1d4], 1
lea ecx, [ebp - 0xa4]
ja 0x56c91f
lea ecx, [ebp - 0x74]
call fcn.005450e0
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.005450e0
push eax
push 0x69a250
push dword [ebp - 0x1bc]
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
jmp 0x56c649
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005450e0
push eax
push 0x69c42c
lea ecx, [ebp - 0xc0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
jmp 0x56c9f2
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.00543750
push ecx
push 0x20019
lea ecx, [ebp - 0xc0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x68]
call fcn.0053fa00
lea eax, [ebp - 0x38]
push eax
push 0x61d074
lea ecx, [ebp - 0x68]
call fcn.0053f710
test al, al
je 0x56cb68
lea ecx, [ebp - 0x38]
call fcn.005452f0
cmp eax, 3
jle 0x56cb68
push 3
push 1
push 1
push 1
push 0x61ec40
lea ecx, [ebp - 0x38]
call fcn.00543a40
cmp eax, 1
je 0x56cb68
cmp eax, 2
je 0x56cb68
push dword [ebp - 0x1b0]
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0053d670
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56cb68
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56caeb
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56cae5
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543a40
test eax, eax
jne 0x56cb01
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 0x56cab0
jmp 0x56cb68
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005450e0
push eax
push 0x69a250
push dword [ebp - 0x1e4]
lea ecx, [ebp - 0xb4]
push 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
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.0053f350
mov esi, dword [ebp - 0x1b0]
test al, al
jne 0x56c807
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.005450e0
push eax
lea ecx, [ebp - 0xb4]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0xb4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x3c]
call fcn.0053fa00
lea eax, [ebp - 0x38]
push eax
push 0x61d074
lea ecx, [ebp - 0x3c]
call fcn.0053f710
test al, al
je 0x56cd37
lea ecx, [ebp - 0x38]
call fcn.005452f0
cmp eax, 3
jle 0x56cd37
lea ecx, [ebp - 0x38]
call fcn.005452f0
test eax, eax
je 0x56cc27
push 1
lea ecx, [ebp - 0x38]
call fcn.00545390
cmp word [eax], 0x7b
je 0x56cd37
push 4
push 1
push 1
push 1
push 0x61ec40
lea ecx, [ebp - 0x38]
call fcn.00543a40
cmp eax, 1
je 0x56cd37
cmp eax, 2
je 0x56cd37
push esi
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0053d670
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56cd37
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 0x56ccbb
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56ccb5
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543a40
test eax, eax
jne 0x56ccd1
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 0x56cc80
jmp 0x56cd31
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005450e0
push eax
push 0x69a250
lea ecx, [ebp - 0xb4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
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 0x69c6a8
lea ecx, [ebp - 0xa4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0xb4]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0xb4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x3c]
call fcn.0053fa00
test al, al
je 0x56cfe9
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x1ac], 0
push eax
push 0
lea ecx, [ebp - 0x3c]
call fcn.0053f350
test al, al
je 0x56cfe9
nop dword [eax]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f7a0
push dword [ebp - 0x1e4]
lea ecx, [ebp - 0xb4]
push 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0xc0]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0xc0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x68]
call fcn.0053fa00
test al, al
je 0x56cfbe
lea eax, [ebp - 0x1fc]
mov dword [ebp - 0x1bc], 0
push eax
push 0
lea ecx, [ebp - 0x68]
call fcn.0053f350
test al, al
je 0x56cfbe
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x124]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0x124]
call fcn.005450e0
push eax
lea ecx, [ebp - 0xa8]
call fcn.0053fa00
test al, al
je 0x56cf93
lea eax, [ebp - 0x38]
push eax
push 0x61d074
lea ecx, [ebp - 0xa8]
call fcn.0053f710
test al, al
je 0x56cf93
lea ecx, [ebp - 0x38]
call fcn.005452f0
cmp eax, 4
jl 0x56cf93
push esi
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0053d670
xor esi, esi
test edi, edi
je 0x56cf93
mov ecx, dword [ebp - 0x22c]
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [eax + esi*4], 0
je 0x56cf1c
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56cf16
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543a40
test eax, eax
jne 0x56cf2c
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x220]
inc esi
add ecx, 0xc
mov dword [ebp - 0x1a4], ecx
cmp esi, edi
jb 0x56cee1
jmp 0x56cf93
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005450e0
push eax
push 0x69a250
push dword [ebp - 0x1fc]
lea ecx, [ebp - 0xc0]
push 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
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.0053f350
mov esi, dword [ebp - 0x1b0]
test al, al
jne 0x56ce30
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.0053f350
mov esi, dword [ebp - 0x1b0]
test al, al
jne 0x56cdb0
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 0x56c724
jmp 0x56d014
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 0x56c6c3
cmp byte [eax + 4], 0
jne 0x56fa93
push 0x65f658
lea ecx, [ebp - 0x2c]
call fcn.00545460
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa00
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56d373
xor ecx, ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], cl
jne 0x56d373
nop dword [eax]
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.0053f350
test al, al
je 0x56d36d
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x74]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fa00
test al, al
je 0x56d1f7
lea eax, [ebp - 0x38]
push eax
push 0x6287c4
lea ecx, [ebp - 0x1c]
call fcn.0053f710
test al, al
je 0x56d1f7
lea ecx, [ebp - 0x38]
call fcn.005452f0
cmp eax, 3
jle 0x56d1f7
mov eax, dword [ebp - 0x224]
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
movzx eax, byte [eax + 0x11]
push eax
call fcn.0053d670
mov esi, dword [ebp - 0x220]
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56d1fd
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56d182
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56d17c
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543a40
test eax, eax
jne 0x56d198
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 0x56d147
jmp 0x56d1fd
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005450e0
push eax
push 0x69a250
lea ecx, [ebp - 0x74]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
jmp 0x56d1fd
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 0x64d0d8
lea ecx, [ebp - 0x74]
call fcn.005450e0
push eax
lea ecx, [ebp - 0xa4]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0xa4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fa00
test al, al
je 0x56d34e
lea eax, [ebp - 0x38]
push eax
push 0x64d178
lea ecx, [ebp - 0x1c]
call fcn.0053f710
test al, al
je 0x56d34e
lea ecx, [ebp - 0x38]
call fcn.005452f0
cmp eax, 3
jle 0x56d34e
push 0
lea edx, [ebp - 0x58]
lea ecx, [ebp - 0x38]
call fcn.0053d670
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56d34e
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x1a4], ecx
nop
cmp dword [esi + eax*4], 0
je 0x56d2db
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56d2d5
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543a40
test eax, eax
jne 0x56d2f1
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 0x56d2a0
jmp 0x56d34e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005450e0
push eax
push 0x69a250
lea ecx, [ebp - 0x74]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1bc]
inc ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], 0
je 0x56d080
jmp 0x56d373
mov eax, dword [ebp - 0x21c]
cmp byte [eax + 4], 0
jne 0x56fa93
xor esi, esi
mov ecx, 0x69c970
mov dword [ebp - 0x1ac], esi
nop word [eax + eax]
cmp esi, 1
jne 0x56d3a2
cmp byte [ebp - 0x225], 0
je 0x56d59f
cmp byte [eax + 4], 0
jne 0x56fa93
cmp esi, 1
mov eax, 0x69c8e0
cmovne eax, ecx
lea ecx, [ebp - 0x2c]
push eax
call fcn.00545460
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa00
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56d58a
xor ecx, ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], cl
jne 0x56d58a
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.0053f350
test al, al
je 0x56d57e
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x74]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fa00
test al, al
je 0x56d55f
lea eax, [ebp - 0x38]
push eax
push 0x61d074
lea ecx, [ebp - 0x1c]
call fcn.0053f710
test al, al
je 0x56d55f
lea ecx, [ebp - 0x38]
call fcn.005452f0
cmp eax, 3
jle 0x56d55f
push 0
lea ecx, [ebp - 0x38]
call fcn.00544b70
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56d55f
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56d4ec
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56d4e6
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543a40
test eax, eax
jne 0x56d502
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 0x56d4b1
jmp 0x56d55f
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.005450e0
push eax
push 0x69a250
lea ecx, [ebp - 0x74]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1bc]
inc ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], 0
je 0x56d3f6
jmp 0x56d584
mov eax, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1ac]
inc esi
mov ecx, 0x69c970
mov dword [ebp - 0x1ac], esi
cmp esi, 2
jb 0x56d390
cmp byte [eax + 4], 0
jne 0x56fa93
call fcn.00541770
push ecx
push 0x20019
push 0x65436c
lea ecx, [ebp - 0x1c]
movsd qword [ebp - 0x1d8], xmm0
call fcn.0053fa00
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56da66
xor ecx, ecx
mov dword [ebp - 0x1b4], ecx
cmp byte [eax + 4], cl
jne 0x56da66
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x1c]
call fcn.0053f350
test al, al
je 0x56da60
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
call fcn.00545460
push 0
push 1
push 1
push 0
push 0x66a514
lea ecx, [ebp - 0x2c]
call fcn.00543a40
cmp eax, 1
jne 0x56da41
sub esp, 0xc
lea ecx, [ebp - 0x2c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x66a540
call fcn.005434e0
movsd xmm0, qword [ebp - 0x1d8]
comisd xmm0, xmmword [0x6e42e8]
jb 0x56d871
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69cb58
lea ecx, [ebp - 0x2c]
call fcn.00543750
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa00
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56da47
xor ecx, ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], cl
jne 0x56da47
nop dword [eax + eax]
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.0053f2b0
test al, al
je 0x56da41
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x18]
call fcn.0053f710
test al, al
je 0x56d84f
lea ecx, [ebp - 0x38]
call fcn.005452f0
cmp eax, 0x19
jl 0x56d84f
push 0
push 1
push 1
push 0
push 0x69cbd8
lea ecx, [ebp - 0x38]
call fcn.00543a40
test eax, eax
je 0x56d84f
add eax, 4
lea ecx, [ebp - 0x38]
push eax
call fcn.00543d20
push 0
push 1
push 1
push 0
push 0x621ac0
lea ecx, [ebp - 0x38]
call fcn.00543a40
test eax, eax
je 0x56d74e
push eax
lea ecx, [ebp - 0x38]
call fcn.00543dd0
push 0
push 1
push 0xffffffffffffffff
push 1
push 0x61d1a8
lea ecx, [ebp - 0x38]
call fcn.00543a40
test eax, eax
je 0x56d84f
dec eax
lea ecx, [ebp - 0x38]
push eax
call fcn.00543dd0
push 0
lea ecx, [ebp - 0x38]
call fcn.00544b70
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56d84f
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56d7dc
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56d7d6
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543a40
test eax, eax
jne 0x56d7f2
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 0x56d7a1
jmp 0x56d84f
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a1954
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x624a28
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1bc]
inc ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], 0
je 0x56d6c0
jmp 0x56da47
mov eax, dword [ebp - 0x21c]
xor esi, esi
mov dword [ebp - 0x1ac], esi
nop
cmp byte [eax + 4], 0
jne 0x56da47
test esi, esi
jne 0x56d89f
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x69cc10
jmp 0x56d8bd
cmp esi, 1
jne 0x56d8ce
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69ccc8
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x74]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa00
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56da2f
xor ecx, ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], cl
jne 0x56da2f
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.0053f2b0
test al, al
je 0x56da23
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x38]
call fcn.00545460
push 0
lea ecx, [ebp - 0x38]
call fcn.00544b70
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56da04
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56d991
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56d98b
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543a40
test eax, eax
jne 0x56d9a7
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 0x56d956
jmp 0x56da04
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a198c
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x624a28
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1bc]
inc ecx
mov dword [ebp - 0x1bc], ecx
cmp byte [eax + 4], 0
je 0x56d904
jmp 0x56da29
mov eax, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1ac]
inc esi
mov dword [ebp - 0x1ac], esi
cmp esi, 2
jb 0x56d880
jmp 0x56da47
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1b4]
inc ecx
cmp byte [eax + 4], 0
mov dword [ebp - 0x1b4], ecx
je 0x56d5e8
jmp 0x56da66
mov eax, dword [ebp - 0x21c]
cmp byte [eax + 4], 0
jne 0x56fa93
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.004fad10
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 0x56dd30
mov eax, dword [ebp - 0x21c]
mov dword [ebp - 0x40], ecx
nop dword [eax]
cmp byte [eax + 4], 0
jne 0x56dd30
xor esi, esi
mov dword [ebp - 0x1b4], esi
cmp byte [eax + 4], 0
jne 0x56dd11
test esi, esi
jne 0x56db40
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0x69cd88
jmp 0x56db7a
cmp esi, 1
jne 0x56db5e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69ce48
jmp 0x56db7a
cmp esi, 3
jne 0x56db8d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69d0b0
call fcn.005450e0
push eax
push str.HKU_
lea ecx, [ebp - 0x2c]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa00
test al, al
mov eax, dword [ebp - 0x21c]
je 0x56dcfe
xor ecx, ecx
mov dword [ebp - 0x1ac], ecx
cmp byte [eax + 4], cl
jne 0x56dcfe
lea eax, [ebp - 0x1cc]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.0053f2b0
test al, al
je 0x56dcf2
mov ecx, dword [ebp - 0x1cc]
call fcn.00541c20
cmp eax, 3
jl 0x56dcd3
cmp word [ecx + 2], 0x3a
jne 0x56dcd3
push ecx
lea ecx, [ebp - 0x58]
call fcn.00545460
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56dcd3
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56dc60
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56dc5a
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543a40
test eax, eax
jne 0x56dc76
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 0x56dc25
jmp 0x56dcd3
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a19c0
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x624a28
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x1ac]
inc ecx
mov dword [ebp - 0x1ac], ecx
cmp byte [eax + 4], 0
je 0x56dbc3
jmp 0x56dcf8
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 0x56db22
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 0x56db10
mov edx, dword [ebp - 0x21c]
cmp byte [edx + 4], 0
jne 0x56f9ec
xor esi, esi
mov dword [ebp - 0x1b4], esi
nop dword [eax + eax]
cmp byte [edx + 4], 0
jne 0x56f9ec
test esi, esi
jne 0x56dd65
push 0x69ced0
jmp 0x56dd87
cmp esi, 1
jne 0x56dd71
push 0x69cf60
jmp 0x56dd87
cmp esi, 2
jne 0x56dd7d
push 0x69d008
jmp 0x56dd87
cmp esi, 3
jne 0x56dd8f
push 0x69d050
lea ecx, [ebp - 0x2c]
call fcn.00545460
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa00
mov edx, dword [ebp - 0x21c]
test al, al
je 0x56df00
xor eax, eax
mov dword [ebp - 0x1ac], eax
cmp byte [edx + 4], al
jne 0x56df00
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0053f2b0
test al, al
je 0x56def4
mov ecx, dword [ebp - 0x1cc]
call fcn.00541c20
cmp eax, 3
jl 0x56ded5
cmp word [ecx + 2], 0x3a
jne 0x56ded5
push ecx
lea ecx, [ebp - 0x58]
call fcn.00545460
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56ded5
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56de62
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56de5c
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543a40
test eax, eax
jne 0x56de78
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 0x56de27
jmp 0x56ded5
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a19c0
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x624a28
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1ac]
inc eax
mov dword [ebp - 0x1ac], eax
cmp byte [edx + 4], 0
je 0x56ddc5
jmp 0x56defa
mov edx, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1b4]
inc esi
mov dword [ebp - 0x1b4], esi
cmp esi, 3
jb 0x56dd50
cmp byte [edx + 4], 0
jne 0x56f9ec
xor esi, esi
mov dword [ebp - 0x1b4], esi
cmp byte [edx + 4], 0
jne 0x56f9ec
test esi, esi
jne 0x56df39
push 1
push 0x69d170
jmp 0x56df44
cmp esi, 1
jne 0x56df4c
push esi
push 0x69d1f8
lea ecx, [ebp - 0x2c]
call fcn.005451b0
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa00
mov edx, dword [ebp - 0x21c]
test al, al
je 0x56e0a9
xor eax, eax
mov dword [ebp - 0x1ac], eax
cmp byte [edx + 4], al
jne 0x56e0a9
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0053f2b0
test al, al
je 0x56e09d
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x58]
call fcn.00545460
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56e07e
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 0x56e00b
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56e005
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543a40
test eax, eax
jne 0x56e021
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 0x56dfd0
jmp 0x56e07e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a1a00
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x624a28
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1ac]
inc eax
mov dword [ebp - 0x1ac], eax
cmp byte [edx + 4], 0
je 0x56df82
jmp 0x56e0a3
mov edx, dword [ebp - 0x21c]
mov esi, dword [ebp - 0x1b4]
inc esi
mov dword [ebp - 0x1b4], esi
cmp esi, 2
jb 0x56df22
cmp byte [edx + 4], 0
jne 0x56f9ec
mov eax, dword [ebp - 0x1b0]
xor esi, esi
mov dword [ebp - 0x40], esi
add eax, 2
je 0x56e5ca
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x244], ecx
cmp byte [edx + 4], 0
jne 0x56f9ec
mov eax, dword [ebp - 0x1b0]
cmp esi, eax
jne 0x56e106
push 0x654340
lea ecx, [ebp - 0x2c]
call fcn.00545460
jmp 0x56e151
inc eax
cmp esi, eax
jne 0x56e127
cmp byte [ebp - 0x225], 0
je 0x56e5ca
push 0x69ca6c
lea ecx, [ebp - 0x2c]
call fcn.00545460
jmp 0x56e151
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69cac8
call fcn.005450e0
push eax
push str.HKU_
lea ecx, [ebp - 0x2c]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa00
mov edx, dword [ebp - 0x21c]
test al, al
je 0x56e5a0
xor eax, eax
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], al
jne 0x56e5a0
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0053f350
test al, al
je 0x56e59a
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0xdc]
call fcn.00545460
push str.Microsoft
lea ecx, [ebp - 0xdc]
call fcn.00545410
test al, al
jne 0x56e578
push 0x69cb48
lea ecx, [ebp - 0xdc]
call fcn.00545410
test al, al
jne 0x56e578
cmp esi, dword [ebp - 0x1b0]
jne 0x56e200
push 0x6a1a40
lea ecx, [ebp - 0xdc]
call fcn.00545410
test al, al
jne 0x56e578
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x74]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0x74]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1c]
call fcn.0053fa00
test al, al
je 0x56e389
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0x1ac], 0
push eax
push 0
lea ecx, [ebp - 0x1c]
call fcn.0053f2b0
test al, al
je 0x56e389
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x1c]
call fcn.0053f710
test al, al
je 0x56e364
push 0
lea ecx, [ebp - 0x38]
call fcn.00544b70
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56e364
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56e2f1
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56e2eb
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543a40
test eax, eax
jne 0x56e307
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 0x56e2b6
jmp 0x56e364
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.005450e0
push eax
push 0x69a250
lea ecx, [ebp - 0x74]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
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.0053f2b0
test al, al
jne 0x56e270
lea ecx, [ebp - 0x1c]
call fcn.0053f9d0
test eax, eax
je 0x56e578
lea eax, [ebp - 0x1f0]
xor esi, esi
push eax
push esi
mov dword [ebp - 0x1b4], esi
call fcn.0053f350
test al, al
je 0x56e578
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0xa4]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0xa4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x3c]
call fcn.0053fa00
test al, al
je 0x56e559
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x1ac], 0
push eax
push 0
lea ecx, [ebp - 0x3c]
call fcn.0053f2b0
test al, al
je 0x56e559
nop dword [eax]
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x1e4]
lea ecx, [ebp - 0x3c]
call fcn.0053f710
test al, al
je 0x56e52e
push 0
lea ecx, [ebp - 0x38]
call fcn.00544b70
xor eax, eax
mov dword [ebp - 0x1a8], eax
test edi, edi
je 0x56e52e
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x1a4], ecx
cmp dword [esi + eax*4], 0
je 0x56e4b1
call fcn.005452f0
mov ecx, dword [ebp - 0x1a4]
test eax, eax
je 0x56e4ab
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543a40
test eax, eax
jne 0x56e4c7
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 0x56e476
jmp 0x56e52e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x38]
call fcn.005450e0
push eax
push 0x69a250
push dword [ebp - 0x1e4]
lea ecx, [ebp - 0xa4]
push 0x624a28
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
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.0053f2b0
test al, al
jne 0x56e430
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.0053f350
test al, al
jne 0x56e3b6
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 0x56e187
jmp 0x56e5a0
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 0x56e0e3
cmp byte [edx + 4], 0
jne 0x56f9ec
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 0x56e709
push 0
push 0
push 0x104
lea ecx, [ebp - 0x2c]
call fcn.005448f0
mov eax, dword [ebp - 0x1a8]
test eax, eax
jne 0x56e676
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
push 0
push 0
push 0x19
push 0
call dword [0x5fd60c]
test eax, eax
jne 0x56e6e9
mov eax, dword [ebp - 0x1a8]
cmp eax, 1
jne 0x56e69c
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
push 0
push 0
push 0x1f
push 0
call dword [0x5fd60c]
test eax, eax
jne 0x56e6e9
mov eax, dword [ebp - 0x1a8]
cmp eax, 2
jne 0x56e6bc
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
push 0
push 0
push 0x16
push 0
call dword [0x5fd60c]
test eax, eax
jne 0x56e6e9
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
mov ecx, edi
call fcn.0056b240
mov edx, dword [ebp - 0x21c]
mov cl, al
test cl, cl
sete al
mov byte [edx + 4], al
test cl, cl
je 0x56e705
jmp 0x56e6ef
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1a8]
inc eax
mov dword [ebp - 0x1a8], eax
cmp eax, 3
jb 0x56e630
cmp byte [edx + 4], 0
mov edi, dword [ebp - 0x238]
jne 0x56f9ec
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56ec81
xorps xmm0, xmm0
mov dword [ebp - 0x15c], 0
lea ecx, [ebp - 0x164]
movq qword [ebp - 0x164], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x14c], 0
lea ecx, [ebp - 0x154]
movq qword [ebp - 0x154], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x13c], 0
lea ecx, [ebp - 0x144]
movq qword [ebp - 0x144], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0xc4], 0
lea ecx, [ebp - 0xcc]
movq qword [ebp - 0xcc], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
lea ecx, [ebp - 0x134]
movq qword [ebp - 0x134], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0xe4], 0
lea ecx, [ebp - 0xec]
movq qword [ebp - 0xec], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0xf4], 0
lea ecx, [ebp - 0xfc]
movq qword [ebp - 0xfc], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
lea ecx, [ebp - 0x98]
movq qword [ebp - 0x98], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
lea ecx, [ebp - 0x8c]
movq qword [ebp - 0x8c], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
lea ecx, [ebp - 0x80]
movq qword [ebp - 0x80], xmm0
call fcn.00545530
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.005448f0
push eax
call dword [0x5fd0bc]
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0xcc]
call fcn.005450e0
lea edx, [ebp - 0x134]
mov ecx, eax
call fcn.004fb210
push 0
push 0
push 0x104
lea ecx, [ebp - 0xec]
call fcn.005448f0
push eax
push 0
push 0
push 0xb
push 0
call dword [0x5fd60c]
lea ecx, [ebp - 0x64]
call fcn.005452f0
push eax
lea ecx, [ebp - 0xec]
call fcn.00543d20
push 0
push 0
push 0x104
lea ecx, [ebp - 0xfc]
call fcn.005448f0
push eax
push 0
push 0
push 0x10
push 0
call dword [0x5fd60c]
lea ecx, [ebp - 0x64]
call fcn.005452f0
push eax
lea ecx, [ebp - 0xfc]
call fcn.00543d20
push 0
push 0
push 0x104
lea ecx, [ebp - 0x98]
call fcn.005448f0
push eax
push 0
push 0
push 8
push 0
call dword [0x5fd60c]
lea ecx, [ebp - 0x64]
call fcn.005452f0
push eax
lea ecx, [ebp - 0x98]
call fcn.00543d20
push 0
push 0
push 0x104
lea ecx, [ebp - 0x8c]
call fcn.005448f0
push eax
push 0
push 0
push 6
push 0
call dword [0x5fd60c]
lea ecx, [ebp - 0x64]
call fcn.005452f0
push eax
lea ecx, [ebp - 0x8c]
call fcn.00543d20
push 0
push 0
push 0x104
lea ecx, [ebp - 0x80]
call fcn.005448f0
push eax
push 0
push 0
push 0x1a
push 0
call dword [0x5fd60c]
lea ecx, [ebp - 0x64]
call fcn.005452f0
push eax
lea ecx, [ebp - 0x80]
call fcn.00543d20
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.00543750
cmp dword [ebp - 0x1b0], 0
mov dword [ebp - 0x1ac], 0
jbe 0x56ebfe
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.005450e0
push eax
mov ecx, edi
call fcn.005450e0
push eax
lea ecx, [ebp - 0x64]
call fcn.00545150
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x64]
call fcn.005450e0
mov ecx, dword [ebp - 0x224]
push eax
call fcn.0056b240
mov cl, al
test cl, cl
sete al
mov byte [esi + 4], al
test cl, cl
je 0x56ebf2
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.005450e0
push eax
mov ecx, edi
call fcn.005450e0
push eax
lea ecx, [ebp - 0x64]
call fcn.00545150
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x64]
call fcn.005450e0
mov ecx, dword [ebp - 0x224]
push eax
call fcn.0056b240
mov cl, al
test cl, cl
sete al
mov byte [esi + 4], al
test cl, cl
je 0x56ebf2
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.005450e0
push eax
mov ecx, edi
call fcn.005450e0
push eax
lea ecx, [ebp - 0x64]
call fcn.00545150
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x64]
call fcn.005450e0
mov ecx, dword [ebp - 0x224]
push eax
call fcn.0056b240
mov cl, al
test cl, cl
sete al
mov byte [esi + 4], al
test cl, cl
je 0x56ebf2
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.005450e0
push eax
mov ecx, edi
call fcn.005450e0
push eax
lea ecx, [ebp - 0x64]
call fcn.00545150
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x64]
call fcn.005450e0
mov ecx, dword [ebp - 0x224]
push eax
call fcn.0056b240
mov cl, al
test cl, cl
sete al
mov byte [esi + 4], al
test cl, cl
je 0x56ebf2
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.005450e0
push eax
mov ecx, edi
call fcn.005450e0
push eax
lea ecx, [ebp - 0x64]
call fcn.00545150
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x64]
call fcn.005450e0
mov ecx, dword [ebp - 0x224]
push eax
call fcn.0056b240
mov cl, al
test cl, cl
sete al
mov byte [esi + 4], al
test cl, cl
je 0x56ebf2
mov eax, dword [ebp - 0x1ac]
add edi, 0xc
inc eax
mov dword [ebp - 0x1ac], eax
cmp eax, dword [ebp - 0x1b0]
jb 0x56ea10
mov edi, dword [ebp - 0x238]
mov esi, dword [ebp - 0x220]
lea ecx, [ebp - 0x80]
call fcn.00545380
lea ecx, [ebp - 0x8c]
call fcn.00545380
lea ecx, [ebp - 0x98]
call fcn.00545380
lea ecx, [ebp - 0xfc]
call fcn.00545380
lea ecx, [ebp - 0xec]
call fcn.00545380
lea ecx, [ebp - 0x134]
call fcn.00545380
lea ecx, [ebp - 0xcc]
call fcn.00545380
lea ecx, [ebp - 0x64]
call fcn.00545380
lea ecx, [ebp - 0x144]
call fcn.00545380
lea ecx, [ebp - 0x154]
call fcn.00545380
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0x1d
call fcn.00545380
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1b0]
cmp byte [edx + 4], 0
jne 0x56f9ec
xor ecx, ecx
mov dword [ebp - 0xcc], 0x640338
mov dword [ebp - 0xc8], 0x65f758
mov dword [ebp - 0xc4], 0x65f768
mov dword [ebp - 0x40], ecx
add eax, 2
je 0x56ef5b
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x1b8], eax
cmp byte [edx + 4], 0
jne 0x56f9ec
mov eax, dword [ebp - 0x1b0]
inc eax
cmp ecx, eax
jne 0x56ece5
cmp byte [ebp - 0x225], 0
je 0x56ef5b
xor eax, eax
mov dword [ebp - 0x1b4], eax
nop dword [eax]
cmp byte [edx + 4], 0
jne 0x56ef39
cmp ecx, dword [ebp - 0x1b0]
jae 0x56ed31
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 0x65f6a8
call fcn.005450e0
push eax
push str.HKU_
jmp 0x56ed86
jne 0x56ed55
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 0x67c9f8
jmp 0x56ed86
mov edx, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x220]
inc edx
cmp ecx, edx
jne 0x56ed8e
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 0x67c8e0
lea ecx, [ebp - 0x2c]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa00
test al, al
je 0x56ef1a
lea eax, [ebp - 0x1cc]
mov dword [ebp - 0x1ac], 0
push eax
push 0
lea ecx, [ebp - 0x18]
call fcn.0053f2b0
test al, al
je 0x56ef1a
mov eax, dword [ebp - 0x1c8]
cmp eax, 1
je 0x56ede4
cmp eax, 2
jne 0x56eef5
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x18]
call fcn.0053f710
test al, al
je 0x56eef5
lea ecx, [ebp - 0x58]
call fcn.00544e00
test al, al
jne 0x56eef5
cmp dword [ebp - 0x1c8], 2
jne 0x56ee1e
push 0
call fcn.00544b70
xor eax, eax
mov dword [ebp - 0x1a4], eax
test edi, edi
je 0x56eef5
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x238], ecx
nop word [eax + eax]
cmp dword [esi + eax*4], 0
je 0x56ee7b
call fcn.005452f0
mov ecx, dword [ebp - 0x238]
test eax, eax
je 0x56ee75
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x58]
call fcn.00543a40
test eax, eax
jne 0x56ee91
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 0x56ee40
jmp 0x56eef5
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x58]
call fcn.005450e0
push eax
push 0x69a250
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x2c]
push 0x624a28
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
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.0053f2b0
test al, al
jne 0x56edd0
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 0x56ecf0
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 0x56ecc3
cmp byte [edx + 4], 0
jne 0x56f9ec
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56f166
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x1b8], 0
mov dword [ebp - 0x40], ecx
cmp byte [edx + 4], 0
jne 0x56f9ec
xor eax, eax
mov dword [ebp - 0x1b4], eax
nop dword [eax + eax]
cmp byte [edx + 4], 0
jne 0x56f147
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
cmp eax, 1
jne 0x56efc8
push 0x655f50
jmp 0x56efcd
push 0x655fb8
call fcn.005450e0
push eax
push str.HKU_
lea ecx, [ebp - 0x2c]
call fcn.00545150
push ecx
push 0x20019
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x18]
call fcn.0053fa00
mov edx, dword [ebp - 0x21c]
test al, al
je 0x56f12e
xor eax, eax
mov dword [ebp - 0x1ac], eax
cmp byte [edx + 4], al
jne 0x56f12e
lea ecx, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.0053f2b0
test al, al
je 0x56f128
push dword [ebp - 0x1cc]
lea ecx, [ebp - 0x38]
call fcn.00545460
xor eax, eax
mov dword [ebp - 0x1a4], eax
test edi, edi
je 0x56f109
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x238], ecx
cmp dword [esi + eax*4], 0
je 0x56f093
call fcn.005452f0
mov ecx, dword [ebp - 0x238]
test eax, eax
je 0x56f08d
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x38]
call fcn.00543a40
test eax, eax
jne 0x56f0a9
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 0x56f058
jmp 0x56f109
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6a1a58
lea ecx, [ebp - 0x38]
call fcn.005450e0
push eax
push 0x624a28
lea ecx, [ebp - 0x2c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x1ac]
inc eax
mov dword [ebp - 0x1ac], eax
cmp byte [edx + 4], 0
je 0x56f016
jmp 0x56f12e
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 0x56efa0
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 0x56ef86
cmp byte [edx + 4], 0
jne 0x56f9ec
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
lea ecx, [ebp - 0x8c]
movq qword [ebp - 0x8c], xmm0
call fcn.00545530
mov byte [ebp - 4], 0x29
call fcn.00541770
movsd xmm1, qword [0x6e42e8]
lea ecx, [ebp - 0x8c]
comisd xmm1, xmm0
push 0x104
push 0
push 0
push 0x104
jbe 0x56f5cd
call fcn.005448f0
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 0x665554
lea ecx, [ebp - 0x8c]
call fcn.00543750
xorps xmm0, xmm0
mov dword [ebp - 0x90], 0
lea ecx, [ebp - 0x98]
movq qword [ebp - 0x98], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
call fcn.00545530
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
lea ecx, [ebp - 0x80]
movq qword [ebp - 0x80], xmm0
call fcn.00545530
mov dword [ebp - 0x1b0], 0
lea eax, [ebp - 0x1b0]
push eax
push 0x680890
push 1
push 0
push 0x68082c
call dword [0x5fdad8]
test eax, eax
jns 0x56f271
mov byte [ebp - 4], 0x2e
jmp 0x56f593
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 0x56f2b3
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x1a4]
test eax, eax
je 0x56f2aa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x31
jmp 0x56f593
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 0x56f57b
nop dword [eax + eax]
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x56f57b
xor esi, esi
mov dword [ebp - 0x1d4], esi
test eax, eax
je 0x56f54e
nop dword [eax + eax]
mov eax, dword [ebp - 0x21c]
cmp byte [eax + 4], 0
jne 0x56f54e
mov eax, dword [ebp - 0x1b8]
lea ecx, [ebp - 0x98]
push dword [eax + esi*4]
call fcn.00545460
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 0x680958
call fcn.005450e0
push eax
push dword [ebp - 0x1b0]
call dword [esi + 0x18]
test eax, eax
jns 0x56f377
mov byte [ebp - 4], 0x33
jmp 0x56f524
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.00545460
push dword [ebp - 0x1ac]
lea ecx, [ebp - 0x80]
call fcn.00545460
mov eax, dword [ebp - 0x1b4]
mov esi, dword [0x5fdac0]
test eax, eax
je 0x56f3e6
push eax
call esi
mov eax, dword [ebp - 0x1ac]
test eax, eax
je 0x56f3f3
push eax
call esi
lea ecx, [ebp - 0x80]
call fcn.005452f0
test eax, eax
je 0x56f429
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.005450e0
push eax
push 0x61e108
lea ecx, [ebp - 0x64]
call fcn.00543750
push 0
lea ecx, [ebp - 0x64]
call fcn.00544b70
push 4
lea ecx, [ebp - 0x98]
call fcn.00543d90
xor eax, eax
mov dword [ebp - 0x244], eax
test edi, edi
je 0x56f520
mov ecx, dword [ebp - 0x22c]
mov esi, dword [ebp - 0x220]
mov dword [ebp - 0x238], ecx
cmp dword [esi + eax*4], 0
je 0x56f49d
call fcn.005452f0
mov ecx, dword [ebp - 0x238]
test eax, eax
je 0x56f497
push 0
push 1
push 1
push 0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x64]
call fcn.00543a40
test eax, eax
jne 0x56f4b6
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 0x56f462
jmp 0x56f520
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x64]
call fcn.005450e0
push eax
push 0x69a250
lea ecx, [ebp - 0x98]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x8c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
mov byte [ebp - 4], 0x34
mov eax, dword [ebp - 0x1a8]
test eax, eax
je 0x56f534
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 0x56f300
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 0x56f2e0
mov byte [ebp - 4], 0x35
mov eax, dword [ebp - 0x1a4]
test eax, eax
je 0x56f58f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56f5a3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x80]
call fcn.00545380
lea ecx, [ebp - 0x64]
call fcn.00545380
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x29
call fcn.00545380
mov esi, dword [ebp - 0x21c]
jmp 0x56f8b6
call fcn.005448f0
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 0x6288c8
lea ecx, [ebp - 0x8c]
call fcn.00543750
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 0x56f647
mov byte [ebp - 4], 0x38
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56f63c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x21c]
jmp 0x56f8b2
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 0x56f746
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56f63c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x21c]
jmp 0x56f8b2
mov dword [ebp - 0x1b8], 0
push 0xc
mov byte [ebp - 4], 0x3e
call fcn.0041e693
mov esi, eax
add esp, 4
mov dword [ebp - 0x1d4], esi
mov byte [ebp - 4], 0x3f
test esi, esi
je 0x56f7a1
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
push 0x61d06c
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call dword [0x5fd57c]
mov dword [esi], eax
test eax, eax
je 0x56fc10
jmp 0x56f7a3
xor esi, esi
mov byte [ebp - 4], 0x3e
mov dword [ebp - 0x1d4], esi
test esi, esi
je 0x56fc1a
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 0x56f81b
mov eax, dword [esi]
test eax, eax
je 0x56f7f9
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x56f810
push eax
call fcn.0041e483
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea7e
add esp, 8
cmp byte [ebp - 0x1d4], 0
je 0x56f858
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0x1b8]
test eax, eax
je 0x56f838
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56f63c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x21c]
jmp 0x56f8b2
lea ecx, [ebp - 0x8c]
call fcn.005450e0
mov ecx, dword [ebp - 0x224]
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x1b8]
call fcn.0056b6c0
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 0x56f89e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x56f8b2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x29
call dword [0x5fdad4]
cmp byte [esi + 4], 0
je 0x56f8d5
lea ecx, [ebp - 0x8c]
or edi, 0xffffffff
call fcn.00545380
jmp 0x56f9ef
mov dword [ebp - 0x1ac], 0
test edi, edi
je 0x56f9c8
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x1a4], eax
mov ecx, eax
call fcn.005452f0
test eax, eax
je 0x56f9a4
mov ecx, dword [ebp - 0x1a4]
call fcn.005450e0
push eax
call dword [0x5fd684]
test eax, eax
je 0x56f9a4
push ecx
mov ecx, dword [ebp - 0x1a4]
push 0
call fcn.005450e0
mov ecx, eax
call fcn.005340a0
push edx
push eax
lea ecx, [ebp - 0xdc]
call fcn.00543e70
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d184
lea ecx, [ebp - 0xdc]
call fcn.005450e0
mov ecx, dword [ebp - 0x1a4]
push eax
push 0x6a1a84
call fcn.005450e0
push eax
lea ecx, [ebp - 0x4c]
call fcn.00545150
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.0056b0e0
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 0x56f8f3
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.00545380
jmp 0x56f9ef
or edi, 0xffffffff
mov eax, dword [ebp - 0x1bc]
test eax, eax
je 0x56fa25
push fcn.00545380
lea esi, [eax - 4]
mov byte [ebp - 4], 0x45
push dword [esi]
push 0xc
push eax
call fcn.0041e718
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e488
add esp, 8
mov eax, dword [ebp - 0x240]
test eax, eax
je 0x56fa5b
push fcn.00545380
lea esi, [eax - 4]
mov byte [ebp - 4], 0x46
push dword [esi]
push 0xc
push eax
call fcn.0041e718
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e488
add esp, 8
mov eax, dword [ebp - 0x23c]
test eax, eax
je 0x56fa96
push fcn.00545380
lea esi, [eax - 4]
mov byte [ebp - 4], 0x47
push dword [esi]
push 0xc
push eax
call fcn.0041e718
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e488
add esp, 8
jmp 0x56fa96
or edi, 0xffffffff
lea ecx, [ebp - 0x1fc]
call fcn.0053fa80
lea ecx, [ebp - 0x1e4]
call fcn.0053fa80
lea ecx, [ebp - 0x1f0]
call fcn.0053fa80
lea ecx, [ebp - 0x58]
call fcn.00545380
lea ecx, [ebp - 0xdc]
call fcn.00545380
lea ecx, [ebp - 0x4c]
call fcn.00545380
lea ecx, [ebp - 0x38]
call fcn.00545380
lea ecx, [ebp - 0x124]
call fcn.00545380
lea ecx, [ebp - 0xc0]
call fcn.00545380
lea ecx, [ebp - 0xb4]
call fcn.00545380
lea ecx, [ebp - 0xa4]
call fcn.00545380
lea ecx, [ebp - 0x74]
call fcn.00545380
lea ecx, [ebp - 0xa8]
call fcn.0053f9b0
lea ecx, [ebp - 0x68]
call fcn.0053f9b0
lea ecx, [ebp - 0x3c]
call fcn.0053f9b0
push dword [ebp - 0x234]
call fcn.0041e483
add esp, 4
push dword [ebp - 0x220]
call fcn.0041e483
mov eax, dword [ebp - 0x230]
add esp, 4
test eax, eax
je 0x56fb7b
push fcn.00545380
lea esi, [eax - 4]
mov byte [ebp - 4], 0x48
push dword [esi]
push 0xc
push eax
call fcn.0041e718
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e488
add esp, 8
mov eax, dword [ebp - 0x22c]
mov byte [ebp - 4], 7
test eax, eax
je 0x56fbb5
push fcn.00545380
lea esi, [eax - 4]
mov byte [ebp - 4], 0x49
push dword [esi]
push 0xc
push eax
call fcn.0041e718
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e488
add esp, 8
lea ecx, [ebp - 0x118]
call fcn.00545380
lea ecx, [ebp - 0x10c]
call fcn.00545380
lea ecx, [ebp - 0x1cc]
call fcn.0053fa80
lea ecx, [ebp - 0x1c]
call fcn.0053f9b0
lea ecx, [ebp - 0x18]
call fcn.0053f9b0
lea ecx, [ebp - 0x2c]
call fcn.00545380
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.0041e475
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 0x8007000e
call fcn.0041e110
push 0x8007000e
call fcn.0041e110
int3