Function at 0x54f565
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 0x5f62ff
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x3028
call fcn.0041ed70
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 edi, ecx
mov dword [ebp - 0x2fa0], edi
mov esi, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x2f88], esi
call fcn.0053c790
test eax, eax
je 0x54ee8a
push eax
call fcn.0041e473
add esp, 4
mov eax, dword [esi + 0xc]
xorps xmm0, xmm0
mov ecx, dword [esi + 8]
mov dword [ebp - 0x2fa4], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x2fcc], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x2f9c], eax
mov eax, dword [esi + 0x18]
push 1
mov dword [ebp - 0x2f70], ecx
mov dword [ebp - 0x2f7c], eax
mov eax, dword [esi + 0x1c]
push ecx
lea ecx, [ebp - 0x2154]
mov dword [ebp - 0x2fd4], eax
movq qword [ebp - 0x2154], xmm0
mov dword [ebp - 0x214c], 0
call fcn.00545350
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1fa0]
xorps xmm0, xmm0
mov dword [ebp - 0x1f98], 0
movq qword [ebp - 0x1fa0], xmm0
call fcn.005453c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1fb0]
xorps xmm0, xmm0
mov dword [ebp - 0x1fa8], 0
movq qword [ebp - 0x1fb0], xmm0
call fcn.005453c0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1f94]
xorps xmm0, xmm0
mov dword [ebp - 0x1f8c], 0
movq qword [ebp - 0x1f94], xmm0
call fcn.005453c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2024]
xorps xmm0, xmm0
mov dword [ebp - 0x201c], 0
movq qword [ebp - 0x2024], xmm0
call fcn.005453c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1ff0]
xorps xmm0, xmm0
mov dword [ebp - 0x1fe8], 0
movq qword [ebp - 0x1ff0], xmm0
call fcn.005453c0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1fc0]
xorps xmm0, xmm0
mov dword [ebp - 0x1fb8], 0
movq qword [ebp - 0x1fc0], xmm0
call fcn.005453c0
lea ecx, [ebp - 0x2154]
mov byte [ebp - 4], 6
call fcn.00545180
mov ecx, eax
cmp ecx, 7
jl 0x54eff0
mov eax, dword [ebp - 0x2f70]
add eax, 0xfffffff8
push 0
lea edx, [eax + ecx*2]
mov ecx, 0x65f19c
call fcn.00541930
test eax, eax
je 0x54f016
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f19c
lea ecx, [ebp - 0x2154]
call fcn.005435c0
xorps xmm0, xmm0
lea ecx, [ebp - 0x2154]
push 0
push 0x2a
movups xmmword [ebp - 0x2018], xmm0
movups xmmword [ebp - 0x2008], xmm0
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2018]
call fcn.00533260
lea ecx, [ebp - 0x2018]
mov byte [ebp - 4], 7
call fcn.00533160
test eax, eax
jne 0x54f060
mov byte [ebp - 0x2f65], al
jmp 0x550916
push 0x685018
push 0
lea ecx, [edi + 0x14c0]
call fcn.00513c80
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x685050
lea ecx, [edi + 0x140c]
call fcn.00544f70
push eax
push 0x685094
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov ecx, edi
call fcn.004492a0
test al, al
je 0x54f267
push 0
push 0x6850d0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
xorps xmm0, xmm0
mov dword [ebp - 0x2174], 0
lea ecx, [ebp - 0x217c]
movq qword [ebp - 0x217c], xmm0
call fcn.005453c0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2118]
xorps xmm0, xmm0
mov dword [ebp - 0x2110], 0
movq qword [ebp - 0x2118], xmm0
call fcn.005453c0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2124]
xorps xmm0, xmm0
mov dword [ebp - 0x211c], 0
movq qword [ebp - 0x2124], xmm0
call fcn.005453c0
push 0
push 0
push 0x9470
lea ecx, [ebp - 0x217c]
mov byte [ebp - 4], 0xa
call fcn.00544760
lea ecx, [edi + 0x188]
mov dword [ebp - 0x2e5c], eax
call fcn.00544f70
push eax
push 0x9470
push dword [ebp - 0x2e5c]
push 0x678808
call dword [0x5fd4a8]
mov ecx, dword [ebp - 0x2e5c]
lea eax, [ebp - 0x2124]
push eax
lea edx, [ebp - 0x2118]
call fcn.00527d50
test al, al
je 0x54f230
push 0x6788b0
lea ecx, [ebp - 0x2118]
call fcn.005452a0
test al, al
je 0x54f1c1
mov dl, 1
lea ecx, [ebp - 0x2124]
call fcn.005385e0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x2124]
call fcn.00544f70
push eax
push 0x671e14
lea ecx, [ebp - 0x2118]
call fcn.00544f70
push eax
push 0x6850fc
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
lea eax, [ebp - 0x2124]
push eax
lea edx, [ebp - 0x2118]
lea ecx, [ebp - 0x2e5c]
call fcn.00527dc0
test al, al
jne 0x54f1a0
push 0
push 0x621864
lea ecx, [ebp - 0x2018]
call fcn.005322d0
lea ecx, [ebp - 0x2124]
call fcn.00545210
lea ecx, [ebp - 0x2118]
call fcn.00545210
lea ecx, [ebp - 0x217c]
mov byte [ebp - 4], 7
call fcn.00545210
cmp byte [esi + 4], 0
je 0x54f279
mov byte [ebp - 0x2f65], 2
jmp 0x550916
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x2044], 0
push 0x1a
lea ecx, [ebp - 0x204c]
movq qword [ebp - 0x204c], xmm0
call fcn.004039b0
mov byte [ebp - 4], 0xb
mov ecx, 1
mov eax, dword [ebp - 0x204c]
test eax, eax
mov dword [ebp - 0x2e24], 1
cmove eax, ecx
mov ecx, dword [ebp - 0x2044]
mov dword [ebp - 0x204c], eax
lea eax, [edi + 0x1c]
push dword [eax]
mov dword [ebp - 0x2f70], eax
call fcn.005452f0
push 0
push 0
push 0x800
lea ecx, [ebp - 0x1fb0]
call fcn.00544760
push eax
push 0x800
call dword [0x5fd3f8]
test eax, eax
je 0x54f533
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x1fb0]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x1c], 0
call fcn.00544f70
mov dword [ebp - 0x2f6c], eax
cmp word [eax], 0
je 0x54f521
mov dword [ebp - 0x2e24], 0xc
mov esi, eax
mov edi, 1
nop
push esi
call dword [0x5fd40c]
cmp eax, 3
jne 0x54f4d8
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x30]
push eax
push esi
call dword [0x5fd43c]
lea eax, [edi + 1]
mov dword [ebp - 0x2f64], eax
cmp dword [ebp - 0x204c], edi
ja 0x54f38c
mov dword [ebp - 0x204c], eax
jmp 0x54f392
mov dword [ebp - 0x2f64], eax
mov ecx, dword [ebp - 0x2e24]
add ecx, dword [ebp - 0x2044]
push 1
push esi
call fcn.00545040
mov eax, dword [ebp - 0x204c]
cmp eax, edi
mov ecx, dword [ebp - 0x2e24]
cmovbe eax, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x2044]
push 1
mov dword [ebp - 0x204c], eax
call fcn.00543c00
mov eax, dword [ebp - 0x204c]
cmp eax, edi
mov ecx, dword [ebp - 0x2e24]
cmovbe eax, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x2044]
mov dword [ebp - 0x204c], eax
mov eax, dword [ebp - 0x2f70]
push dword [eax]
call fcn.005452a0
test al, al
jne 0x54f4d8
push 4
push 0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x20]
call fcn.00543ce0
mov eax, dword [ebp - 0x204c]
lea ecx, [ebp - 0x2024]
mov esi, dword [ebp - 0x2e24]
cmp eax, edi
push 0
cmovbe eax, dword [ebp - 0x2f64]
add esi, dword [ebp - 0x2044]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [ebp - 0x204c], eax
call fcn.00544f70
push eax
push 0x61e1c8
mov ecx, esi
call fcn.00544f70
push eax
push 0x68510c
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
push 4
push 0
push dword [ebp - 0x24]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x28]
call fcn.00543ce0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x2024]
call fcn.00544f70
push eax
push 0x67235c
lea ecx, [ebp - 0x1fa0]
call fcn.005435c0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov esi, dword [ebp - 0x2f6c]
inc edi
add dword [ebp - 0x2e24], 0xc
mov eax, dword [ebp - 0x204c]
cmp eax, edi
ja 0x54f4f2
push 0
add eax, eax
lea ecx, [ebp - 0x204c]
push eax
call fcn.00403800
mov ecx, esi
call fcn.00541aa0
lea esi, [esi + eax*2]
add esi, 2
mov dword [ebp - 0x2f6c], esi
cmp word [esi], 0
jne 0x54f350
mov esi, dword [ebp - 0x2f88]
mov dword [ebp - 0x2e24], edi
mov edi, dword [ebp - 0x2fa0]
push 0
push 0x621864
lea ecx, [ebp - 0x2018]
call fcn.005322d0
cmp byte [esi + 4], 0
je 0x54f545
mov byte [ebp - 0x2f65], 2
jmp 0x550905
xor ecx, ecx
call fcn.004ea1a0
push 0x38
lea eax, [ebp - 0x2228]
push 0
push eax
call fcn.004201d0
add esp, 0xc
lea ecx, [ebp - 0x2228]
push 1
push 0x6295d4
call fcn.004e6a20
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2018]
cmp byte [ebp - 0x21f8], 0
push 0
je 0x54f977
push 0x685130
call fcn.005322d0
push 0x685160
lea ecx, [ebp - 0x2228]
call fcn.004e6820
test eax, eax
je 0x54f6b4
lea ecx, [ebp - 0x2228]
call fcn.004e66d0
test eax, eax
je 0x54f6b4
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6280c0
lea ecx, [ebp - 0x2228]
call fcn.004e6460
push eax
push 0x6851bc
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6851e0
lea ecx, [ebp - 0x2228]
call fcn.004e6460
push eax
push 0x6851f8
lea ecx, [ebp - 0x1fa0]
call fcn.005435c0
push dword [edi + 0xc8]
call dword [0x5fdaf4]
lea eax, [ebp - 0x2f60]
push eax
push 0
push 0x200
push dword [edi + 0xcc]
call dword [0x5fdaec]
movsd xmm1, qword [ebp - 0x2f58]
lea ecx, [ebp - 0x1fb0]
push 2
call fcn.00544450
mov ecx, eax
call fcn.005429c0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x685224
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x685230
lea ecx, [ebp - 0x1fa0]
call fcn.005435c0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 0x685270
lea ecx, [ebp - 0x2228]
call fcn.004e6820
test eax, eax
je 0x54f981
lea ecx, [ebp - 0x2228]
call fcn.004e66d0
test eax, eax
je 0x54f981
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6853a0
lea ecx, [ebp - 0x2228]
call fcn.004e6460
push eax
push 0x6853bc
push 0
lea ecx, [edi + 0x1298]
call fcn.004da3b0
push eax
push 0x6853ec
lea ecx, [edi + 0x1a0]
call fcn.00544f70
push eax
push 0x685418
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 4
push 0
push 0x685448
lea ecx, [ebp - 0x2228]
call fcn.004e6420
push edx
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00543ce0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x685478
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 4
push 0
push 0x6854bc
lea ecx, [ebp - 0x2228]
call fcn.004e6420
push edx
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00543ce0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d04c
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x6854e4
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 4
push 0
push 0x6854fc
lea ecx, [ebp - 0x2228]
call fcn.004e6420
push edx
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00543ce0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x685530
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 4
push 0
push 0x685574
lea ecx, [ebp - 0x2228]
call fcn.004e6420
push edx
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00543ce0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d04c
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x6854e4
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 1
push 0
push 0x685598
lea ecx, [ebp - 0x2228]
call fcn.004e6460
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545040
mov edx, 0x13
lea ecx, [ebp - 0x1fb0]
call fcn.004e94a0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x6855b8
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 0x43
call dword [0x5fd6cc]
lea ecx, [ebp - 0x2018]
push 0
cmp eax, 1
jne 0x54f964
push 0x6855f0
jmp 0x54f97c
cmp eax, 2
jne 0x54f970
push 0x685640
jmp 0x54f97c
push 0x6856a0
jmp 0x54f97c
push 0x6856e0
call fcn.005322d0
cmp byte [esi + 4], 0
je 0x54f993
mov byte [ebp - 0x2f65], 2
jmp 0x5508fa
push 0
push 0x20019
push 0x685720
lea ecx, [ebp - 0x1fa4]
mov dword [ebp - 0x1fa4], 0
call fcn.0053f8c0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1fb4]
mov dword [ebp - 0x1fb4], 0
call fcn.0053f8e0
lea eax, [ebp - 0x1fb0]
mov byte [ebp - 4], 0xe
push eax
push 0x644c30
lea ecx, [ebp - 0x1fa4]
call fcn.0053f580
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x685788
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 0
push 0x6857c0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2f7c]
test al, 4
je 0x54fa50
mov eax, 0x6857f0
jmp 0x54fa6a
test al, 1
je 0x54fa5b
mov eax, 0x685840
jmp 0x54fa6a
test al, 2
mov ecx, 0x6858c0
mov eax, 0x685880
cmove eax, ecx
push 0
push eax
lea ecx, [ebp - 0x2018]
call fcn.005322d0
test byte [ebp - 0x2f7c], 0xc
mov ecx, 0x6858f0
mov eax, 0x685920
cmovne eax, ecx
lea ecx, [ebp - 0x2018]
push 0
push eax
call fcn.005322d0
push 0
push 0x685960
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2f7c]
test al, 0x40
je 0x54face
push 0
push 0x685990
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2f7c]
mov esi, eax
test eax, 0x10
mov ecx, 0x6859c0
mov eax, 0x6859f0
cmovne eax, ecx
lea ecx, [ebp - 0x2018]
push 0
push eax
call fcn.005322d0
test byte [ebp - 0x2f7c], 0x20
mov ecx, 0x685a30
mov eax, 0x685a70
cmovne eax, ecx
lea ecx, [ebp - 0x2018]
push 0
push eax
call fcn.005322d0
push 0
push 0x685ac0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
test byte [ebp - 0x2f7c], 8
mov ecx, 0x685b84
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, 0x685b60
mov edx, 0x61d050
cmove eax, ecx
mov ecx, 0x685ba0
push 0x621864
test esi, 0x10
mov dword [ebp - 0x2f94], eax
push eax
cmove ecx, edx
push ecx
push 0x685bb8
mov dword [ebp - 0x2f98], ecx
lea ecx, [ebp - 0x1fa0]
push 0x685c28
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
je 0x54fbab
mov byte [ebp - 0x2f65], 2
jmp 0x5508e4
xorps xmm0, xmm0
mov dword [ebp - 0x1fc4], 0
lea ecx, [ebp - 0x1fcc]
movq qword [ebp - 0x1fcc], xmm0
call fcn.005453c0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1fd8]
xorps xmm0, xmm0
mov dword [ebp - 0x1fd0], 0
movq qword [ebp - 0x1fd8], xmm0
call fcn.005453c0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1fe4]
xorps xmm0, xmm0
mov dword [ebp - 0x1fdc], 0
movq qword [ebp - 0x1fe4], xmm0
call fcn.005453c0
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2e24], 0
mov dword [ebp - 0x2f6c], 0
jbe 0x54fe57
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0x2f64], ecx
cmp dword [ebp - 0x204c], esi
ja 0x54fc49
lea eax, [esi + 1]
mov dword [ebp - 0x204c], eax
add ecx, dword [ebp - 0x2044]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x685ca8
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00544fe0
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
call dword [0x5fd680]
test eax, eax
je 0x54fe2b
push 0x800
push 0
push str.Open
push 0x685cc4
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00543fa0
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
jne 0x54fe2b
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.005373a0
test al, al
jne 0x54fd45
push 2
push 2
push 1
push 1
push 0x61e384
lea ecx, [ebp - 0x1f94]
call fcn.005438b0
test eax, eax
jne 0x54fd45
cmp dword [ebp - 0x204c], esi
ja 0x54fd0f
lea eax, [esi + 1]
mov dword [ebp - 0x204c], eax
mov ecx, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x2044]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d048
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
call dword [0x5fd680]
test eax, eax
jne 0x54fd76
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x54fe2b
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x64d798
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x685cd4
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov eax, dword [ebp - 0x2f6c]
inc eax
mov dword [ebp - 0x2f6c], eax
jmp 0x54fe31
mov eax, dword [ebp - 0x2f6c]
mov ecx, dword [ebp - 0x2f64]
inc esi
add ecx, 0xc
mov dword [ebp - 0x2f64], ecx
cmp esi, dword [ebp - 0x2e24]
jb 0x54fc38
mov esi, dword [ebp - 0x2f88]
test eax, eax
jne 0x54fe69
push 0
push 0x685d00
lea ecx, [ebp - 0x2018]
call fcn.005322d0
push 0
push 0x685d70
lea ecx, [ebp - 0x2018]
call fcn.005322d0
cmp byte [esi + 4], 0
jne 0x5508bc
mov dword [ebp - 0x2fc4], str..exe
xor edi, edi
mov dword [ebp - 0x2fc0], str..msi
mov dword [ebp - 0x2fbc], str..reg
mov dword [ebp - 0x2fb8], str..bat
mov dword [ebp - 0x2fb4], str..cmd
mov dword [ebp - 0x2fb0], str..com
mov dword [ebp - 0x2fac], str..vbs
nop dword [eax]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp + edi*4 - 0x2fc4]
lea ecx, [ebp - 0x1ff0]
push str.HKCR_
call fcn.00544fe0
lea eax, [ebp - 0x1fb0]
push eax
push 0x61d050
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f410
lea ecx, [ebp - 0x1fb0]
call fcn.00544c70
test al, al
je 0x54ff3d
push 0x66e1d0
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x66e208
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push str.HKCR_
lea ecx, [ebp - 0x1ff0]
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x61d050
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f410
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
je 0x54ffb2
push 0x66e1f0
lea ecx, [ebp - 0x1f94]
call fcn.005452f0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x64d798
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x64d798
push dword [ebp + edi*4 - 0x2fc4]
lea ecx, [ebp - 0x1fa0]
push 0x685e1c
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
inc edi
cmp edi, 7
jl 0x54fed0
push 0
push 0x685e50
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov edx, dword [ebp - 0x2f9c]
mov edi, dword [ebp - 0x2fa0]
mov dword [ebp - 0x2f74], 0
mov dword [ebp - 0x2f90], 0x64
test edx, edx
je 0x550727
mov ecx, edx
and ecx, 1
test dl, 2
je 0x550058
inc ecx
test dl, 4
lea eax, [ecx + 1]
cmove eax, ecx
test dl, 8
lea ecx, [eax + 1]
cmove ecx, eax
test dl, 0x10
lea eax, [ecx + 1]
cmove eax, ecx
test dl, 0x20
lea ecx, [eax + 1]
cmove ecx, eax
test dl, 0x40
lea eax, [ecx + 1]
cmove eax, ecx
test dl, 0x80
lea ecx, [eax + 1]
cmove ecx, eax
test edx, 0x100
lea eax, [ecx + 1]
cmove eax, ecx
mov dword [ebp - 0x2f70], eax
cmp eax, 1
jbe 0x5500be
xor edx, edx
mov eax, 0x64
div dword [ebp - 0x2f70]
mov edx, dword [ebp - 0x2f9c]
mov dword [ebp - 0x2f90], eax
test dl, 1
je 0x550727
push 0x685f00
push 0
lea ecx, [edi + 0x14c0]
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x5508bc
lea eax, [ebp - 0x2034]
mov dword [ebp - 0x2034], 0
push eax
push 0x1f40
lea eax, [ebp - 0x1f88]
push eax
call dword [0x5fd37c]
test eax, eax
je 0x5502ee
mov eax, dword [ebp - 0x2034]
lea ecx, [ebp - 0x2024]
shr eax, 2
push eax
mov dword [ebp - 0x2034], eax
call fcn.00544050
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2f98]
push 0x685f40
call fcn.00544f70
push eax
push 0x685fbc
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 0
push 0
push 0x800
lea ecx, [ebp - 0x1f94]
call fcn.00544760
cmp dword [ebp - 0x2034], 0
mov dword [ebp - 0x2f64], 0
jbe 0x5502c9
cmp byte [esi + 4], 0
jne 0x5508bc
lea ecx, [ebp - 0x1f94]
call fcn.00545160
push 0x800
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
mov edx, eax
mov eax, dword [ebp - 0x2f64]
mov ecx, dword [ebp + eax*4 - 0x1f88]
call fcn.0052b6c0
test al, al
je 0x5502b0
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x5502b0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x685ff0
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov eax, dword [ebp - 0x2f90]
lea ecx, [edi + 0x14c0]
cdq
sub eax, edx
xor edx, edx
sar eax, 1
imul eax, dword [ebp - 0x2f64]
push 0
div dword [ebp - 0x2034]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x5508bc
mov eax, dword [ebp - 0x2f64]
inc eax
mov dword [ebp - 0x2f64], eax
cmp eax, dword [ebp - 0x2034]
jb 0x5501a4
push 0
push 0x686020
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2f90]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x2f74], eax
jmp 0x5502f0
xor eax, eax
cmp dword [ebp - 0x2034], 0
je 0x55070d
push 0x6860cc
push eax
lea ecx, [edi + 0x14c0]
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x5508bc
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x2f80], 0
push 0x7d0
lea ecx, [ebp - 0x2064]
mov dword [ebp - 0x2f6c], 0x7d0
movq qword [ebp - 0x2064], xmm0
mov dword [ebp - 0x205c], 0
call fcn.004039b0
mov dword [ebp - 0x2e48], 0xffffffff
mov byte [ebp - 4], 0x13
xor ecx, ecx
mov dword [ebp - 0x2e20], 0x428
mov dword [ebp - 0x2e24], ecx
cmp dword [ebp - 0x2034], ecx
jbe 0x550513
nop
cmp byte [esi + 4], 0
jne 0x5508a0
push dword [ebp + ecx*4 - 0x1f88]
push 0x18
call dword [0x5fd470]
push eax
lea ecx, [ebp - 0x2e48]
call fcn.00401610
mov eax, dword [ebp - 0x2e48]
cmp eax, 0xffffffff
je 0x5504fa
test eax, eax
je 0x5504fa
lea ecx, [ebp - 0x2e20]
push ecx
push eax
call dword [0x5fd384]
test eax, eax
je 0x5504fa
lea eax, [ebp - 0x2e20]
push eax
push dword [ebp - 0x2e48]
call dword [0x5fd2e0]
test eax, eax
je 0x5504fa
mov edx, dword [ebp - 0x2f80]
lea esi, [edx + edx*2]
shl esi, 2
mov dword [ebp - 0x2f64], esi
jmp 0x550407
mov edx, dword [ebp - 0x2f80]
test edx, edx
je 0x55046c
xor esi, esi
test edx, edx
je 0x550466
xor ecx, ecx
mov dword [ebp - 0x2f78], ecx
nop dword [eax]
cmp dword [ebp - 0x2064], esi
lea eax, [esi + 1]
mov esi, eax
ja 0x550433
mov dword [ebp - 0x2064], eax
add ecx, dword [ebp - 0x205c]
lea eax, [ebp - 0x2c00]
push eax
call fcn.005452a0
test al, al
jne 0x5504cd
mov ecx, dword [ebp - 0x2f78]
mov edx, dword [ebp - 0x2f80]
add ecx, 0xc
mov dword [ebp - 0x2f78], ecx
cmp esi, edx
jb 0x550420
mov esi, dword [ebp - 0x2f64]
cmp dword [ebp - 0x2064], edx
ja 0x55047d
lea eax, [edx + 1]
mov dword [ebp - 0x2064], eax
mov ecx, dword [ebp - 0x205c]
lea eax, [ebp - 0x2c00]
push eax
lea ecx, [esi + ecx]
call fcn.005452f0
mov edi, dword [ebp - 0x2f80]
add esi, 0xc
mov eax, dword [ebp - 0x2f6c]
inc edi
mov dword [ebp - 0x2f80], edi
mov dword [ebp - 0x2f64], esi
cmp edi, eax
jb 0x5504d3
add eax, 0x3e8
lea ecx, [ebp - 0x2064]
push 0
push eax
mov dword [ebp - 0x2f6c], eax
call fcn.00403800
jmp 0x5504d3
mov esi, dword [ebp - 0x2f64]
lea eax, [ebp - 0x2e20]
push eax
push dword [ebp - 0x2e48]
call dword [0x5fd2e0]
test eax, eax
jne 0x550401
mov edi, dword [ebp - 0x2fa0]
mov esi, dword [ebp - 0x2f88]
mov ecx, dword [ebp - 0x2e24]
inc ecx
mov dword [ebp - 0x2e24], ecx
cmp ecx, dword [ebp - 0x2034]
jb 0x550380
push dword [ebp - 0x2f80]
lea ecx, [ebp - 0x2024]
call fcn.005440e0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2f98]
push 0x686108
call fcn.00544f70
push eax
push 0x68617c
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
xor ecx, ecx
mov dword [ebp - 0x2f6c], ecx
cmp dword [ebp - 0x2f80], ecx
jbe 0x5506db
xor edx, edx
mov dword [ebp - 0x2e24], edx
cmp byte [esi + 4], 0
jne 0x5508a0
lea eax, [ecx + 1]
mov dword [ebp - 0x2f64], eax
cmp dword [ebp - 0x2064], ecx
ja 0x5505b3
mov dword [ebp - 0x2064], eax
jmp 0x5505b9
mov dword [ebp - 0x2f64], eax
mov ecx, dword [ebp - 0x205c]
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [edx + ecx]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x5506b4
mov eax, dword [ebp - 0x2064]
lea ecx, [ebp - 0x1fe4]
cmp eax, dword [ebp - 0x2f6c]
mov esi, dword [ebp - 0x2e24]
cmovbe eax, dword [ebp - 0x2f64]
add esi, dword [ebp - 0x205c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
mov dword [ebp - 0x2064], eax
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
mov ecx, esi
call fcn.00544f70
push eax
push 0x6861ac
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov eax, dword [ebp - 0x2f90]
lea ecx, [edi + 0x14c0]
cdq
sub eax, edx
xor edx, edx
sar eax, 1
imul eax, dword [ebp - 0x2f6c]
push 0
div dword [ebp - 0x2f80]
add eax, dword [ebp - 0x2f74]
push eax
call fcn.00513c80
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
jne 0x5508a0
mov edx, dword [ebp - 0x2e24]
mov ecx, dword [ebp - 0x2f64]
add edx, 0xc
mov dword [ebp - 0x2f6c], ecx
mov dword [ebp - 0x2e24], edx
cmp ecx, dword [ebp - 0x2f80]
jb 0x550590
push 0
push 0x6861e0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
lea ecx, [ebp - 0x2e48]
call fcn.004015f0
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x205c]
test ecx, ecx
je 0x55070d
push 3
call fcn.00401e60
mov eax, dword [ebp - 0x2f90]
lea ecx, [edi + 0x14c0]
push 0
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00513c80
xorps xmm0, xmm0
movlpd qword [ebp - 0x2030], xmm0
mov dword [ebp - 0x2030], 0
movlpd qword [ebp - 0x2054], xmm0
mov dword [ebp - 0x2054], 0
movlpd qword [ebp - 0x2090], xmm0
mov dword [ebp - 0x2090], 0
test byte [ebp - 0x2f7c], 0x40
mov byte [ebp - 4], 0x16
je 0x55079c
push 0
lea eax, [ebp - 0x2030]
push eax
lea edx, [ebp - 0x2090]
lea ecx, [ebp - 0x2054]
call fcn.004fabb0
mov dword [ebp - 0x2f8c], eax
test eax, eax
jne 0x55080c
and dword [ebp - 0x2f7c], 0xffffffbf
push 0
lea ecx, [edi + 0x1298]
mov dword [ebp - 0x2f8c], 1
call fcn.004da3b0
push eax
push 1
lea ecx, [ebp - 0x2030]
call fcn.00403520
mov ecx, eax
call fcn.005452f0
push 0
lea ecx, [edi + 0x1298]
call fcn.004da380
push eax
push 1
lea ecx, [ebp - 0x2054]
call fcn.00403520
mov ecx, eax
call fcn.005452f0
push 0
lea ecx, [edi + 0x1298]
call fcn.004da3e0
push eax
push 1
lea ecx, [ebp - 0x2090]
call fcn.00403520
mov ecx, eax
call fcn.005452f0
xor eax, eax
lea ecx, [ebp - 0x1ff8]
cmp byte [edi + 0x28], al
xorps xmm0, xmm0
movlpd qword [ebp - 0x1ff8], xmm0
setne al
inc eax
add eax, dword [ebp - 0x2f8c]
mov dword [ebp - 0x2f80], eax
inc eax
push eax
call fcn.004036b0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x2e30]
xorps xmm0, xmm0
mov dword [ebp - 0x2e28], 0
movq qword [ebp - 0x2e30], xmm0
call fcn.0053f900
test byte [ebp - 0x2f9c], 2
mov byte [ebp - 4], 0x18
je 0x551a1f
push 0x686284
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00513c80
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
je 0x550994
mov byte [ebp - 0x2f65], 2
jmp 0x55718e
lea ecx, [ebp - 0x2e48]
call fcn.004015f0
mov ecx, dword [ebp - 0x205c]
test ecx, ecx
je 0x5508bc
push 3
call fcn.00401e60
mov byte [ebp - 0x2f65], 2
lea ecx, [ebp - 0x1fe4]
call fcn.00545210
lea ecx, [ebp - 0x1fd8]
call fcn.00545210
lea ecx, [ebp - 0x1fcc]
call fcn.00545210
lea ecx, [ebp - 0x1fb4]
call fcn.0053f820
lea ecx, [ebp - 0x1fa4]
call fcn.0053f820
lea ecx, [ebp - 0x2228]
call fcn.004e6aa0
mov ecx, dword [ebp - 0x2044]
test ecx, ecx
je 0x550916
push 3
call fcn.00401e60
lea ecx, [ebp - 0x2018]
call fcn.00401e00
lea ecx, [ebp - 0x1fc0]
call fcn.00545210
lea ecx, [ebp - 0x1ff0]
call fcn.00545210
lea ecx, [ebp - 0x2024]
call fcn.00545210
lea ecx, [ebp - 0x1f94]
call fcn.00545210
lea ecx, [ebp - 0x1fb0]
call fcn.00545210
lea ecx, [ebp - 0x1fa0]
call fcn.00545210
lea ecx, [ebp - 0x2154]
call fcn.00545210
mov al, byte [ebp - 0x2f65]
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 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x6862c0
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
xorps xmm0, xmm0
lea ecx, [ebp - 0x21a0]
movups xmmword [ebp - 0x21a0], xmm0
movq qword [ebp - 0x2190], xmm0
call fcn.00542180
mov eax, dword [ebp - 0x2f8c]
mov byte [ebp - 4], 0x19
test eax, eax
je 0x550a68
xor edi, edi
mov dword [ebp - 0x2f78], eax
nop word [eax + eax]
mov ecx, dword [ebp - 0x2054]
mov esi, dword [ebp - 0x1ff8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [edi + ecx]
add esi, edi
push 0x669d38
call fcn.00544f70
push eax
push str.HKU_
mov ecx, esi
call fcn.00544fe0
add edi, 0xc
sub dword [ebp - 0x2f78], 1
jne 0x550a10
mov edi, dword [ebp - 0x2fa0]
mov esi, dword [ebp - 0x2f88]
mov eax, dword [ebp - 0x2f8c]
lea ecx, [eax + eax*2]
shl ecx, 2
mov dword [ebp - 0x2f70], ecx
add ecx, dword [ebp - 0x1ff8]
push 0x63ea18
call fcn.005452f0
cmp byte [edi + 0x28], 0
je 0x550aa5
mov eax, dword [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x2f70]
add eax, 0xc
push 0x63ea90
add ecx, eax
call fcn.005452f0
mov eax, dword [ebp - 0x2f90]
cdq
and edx, 3
mov dword [ebp - 0x2f64], 0
add eax, edx
sar eax, 2
cmp dword [ebp - 0x2f80], 0
mov dword [ebp - 0x2f6c], eax
jbe 0x550f54
xor ecx, ecx
mov dword [ebp - 0x2e24], 0
mov dword [ebp - 0x2f78], ecx
mov eax, ecx
xor edx, edx
div dword [ebp - 0x2f80]
push 0
add eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x551a08
mov eax, dword [ebp - 0x2f64]
cmp eax, dword [ebp - 0x2f8c]
jae 0x550b54
mov ecx, dword [ebp - 0x2e24]
add ecx, dword [ebp - 0x2030]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x686368
call fcn.00544f70
push eax
push 0x686380
lea ecx, [ebp - 0x1fc0]
call fcn.00544fe0
jmp 0x550b6d
lea ecx, [ebp - 0x1fc0]
jne 0x550b63
push 0x686388
jmp 0x550b68
push 0x6863a0
call fcn.005452f0
mov ecx, dword [ebp - 0x2e24]
lea eax, [ebp - 0x1fb0]
add ecx, dword [ebp - 0x1ff8]
push eax
push 0x63a424
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f410
test al, al
je 0x550d00
push 1
push 0x61e380
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x21a0]
call fcn.00541ed0
mov ecx, eax
call fcn.00542070
test eax, eax
je 0x550d00
lea ecx, [ebp - 0x21a0]
mov dword [ebp - 0x2f70], 0
call fcn.00542070
test eax, eax
je 0x550d00
mov esi, dword [ebp - 0x2f70]
nop
push 3
push 1
push esi
lea ecx, [ebp - 0x21a0]
call fcn.00542080
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545040
lea edx, [edi + 0x1c]
mov ecx, eax
call fcn.005373a0
test al, al
jne 0x550c40
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x550ce6
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x6863bc
lea ecx, [ebp - 0x1fc0]
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
lea ecx, [ebp - 0x21a0]
inc esi
call fcn.00542070
cmp esi, eax
jb 0x550bf0
mov esi, dword [ebp - 0x2f88]
mov ecx, dword [ebp - 0x2e24]
lea eax, [ebp - 0x1f94]
add ecx, dword [ebp - 0x1ff8]
push eax
push 0x63a454
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f410
test al, al
je 0x550e11
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.005373a0
test al, al
jne 0x550d6b
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x550f22
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x6863dc
lea ecx, [ebp - 0x1fc0]
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov ecx, dword [ebp - 0x2e24]
lea eax, [ebp - 0x1f94]
add ecx, dword [ebp - 0x1ff8]
push eax
push 0x63a47c
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f410
test al, al
je 0x550f22
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.005373a0
test al, al
jne 0x550e7c
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x550f22
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x6863f4
lea ecx, [ebp - 0x1fc0]
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov eax, dword [ebp - 0x2f64]
mov ecx, dword [ebp - 0x2f78]
inc eax
add ecx, dword [ebp - 0x2f6c]
add dword [ebp - 0x2e24], 0xc
mov dword [ebp - 0x2f64], eax
mov dword [ebp - 0x2f78], ecx
cmp eax, dword [ebp - 0x2f80]
jb 0x550ae3
movsd xmm0, qword [0x6e3258]
comisd xmm0, xmmword [edi + 8]
jbe 0x5510f8
push 0
push 0x20019
push 0x67c128
lea ecx, [ebp - 0x1fa4]
call fcn.0053f870
test al, al
je 0x5510f8
lea eax, [ebp - 0x2e30]
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f1c0
test al, al
je 0x5510f8
xor esi, esi
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1ff0]
push 0x61d048
push 0x67c128
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x67c1e8
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
test al, al
je 0x5510d6
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.005373a0
test al, al
jne 0x551036
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x5510d6
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x64d798
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fa0]
push 0x686410
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
lea eax, [ebp - 0x2e30]
inc esi
push eax
push esi
lea ecx, [ebp - 0x1fa4]
call fcn.0053f1c0
test al, al
jne 0x550fa4
mov esi, dword [ebp - 0x2f88]
push 0
push 0x686440
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2f6c]
mov ecx, dword [ebp - 0x2f74]
push 0x6864e4
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x2f74], ecx
push ecx
lea ecx, [edi + 0x14c0]
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x551a08
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x686520
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov eax, dword [ebp - 0x2f8c]
mov dword [ebp - 0x2fe4], 0x640368
mov dword [ebp - 0x2fe0], 0x65f588
mov dword [ebp - 0x2fdc], 0x65f598
test eax, eax
je 0x551209
xor edi, edi
mov dword [ebp - 0x2f78], eax
mov ecx, dword [ebp - 0x2054]
mov esi, dword [ebp - 0x1ff8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [edi + ecx]
add esi, edi
push 0x65f4d8
call fcn.00544f70
push eax
push str.HKU_
mov ecx, esi
call fcn.00544fe0
add edi, 0xc
sub dword [ebp - 0x2f78], 1
jne 0x5511b1
mov edi, dword [ebp - 0x2fa0]
mov esi, dword [ebp - 0x2f88]
mov eax, dword [ebp - 0x2f8c]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x1ff8]
push 0x67c418
lea ecx, [eax + ecx*4]
call fcn.005452f0
cmp byte [edi + 0x28], 0
je 0x551242
mov eax, dword [ebp - 0x2f8c]
inc eax
push 0x67c300
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x1ff8]
lea ecx, [eax + ecx*4]
call fcn.005452f0
xor eax, eax
mov dword [ebp - 0x2f78], eax
cmp dword [ebp - 0x2f80], eax
jbe 0x551534
xor ecx, ecx
mov dword [ebp - 0x2e24], eax
mov dword [ebp - 0x2f70], ecx
mov eax, ecx
xor edx, edx
div dword [ebp - 0x2f80]
push 0
add eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x551a08
xor edx, edx
mov dword [ebp - 0x2f84], edx
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x2f78]
mov eax, dword [ebp + edx*4 - 0x2fe4]
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [ebp - 0x2f64], eax
push 0
cmp ecx, dword [ebp - 0x2f8c]
jae 0x5512ed
mov ecx, dword [ebp - 0x2e24]
add ecx, dword [ebp - 0x2030]
push 0x622754
push eax
push 0x61d048
call fcn.00544f70
push eax
push 0x686380
jmp 0x551305
push 0
push 0
push 0x622754
push eax
jne 0x551300
push 0x6865c8
jmp 0x551305
push 0x6865dc
lea ecx, [ebp - 0x1fc0]
call fcn.00544fe0
mov edx, dword [ebp - 0x2f64]
mov ecx, dword [ebp - 0x2e24]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push edx
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1ff0]
call fcn.00544fe0
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f870
test al, al
je 0x5514ec
lea eax, [ebp - 0x2e30]
mov dword [ebp - 0x2f64], 0
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f120
test al, al
je 0x5514ec
nop dword [eax]
nop dword [eax + eax]
lea eax, [ebp - 0x1f94]
push eax
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fa4]
call fcn.0053f580
test al, al
je 0x5514c4
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
jne 0x5514c4
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.005373a0
test al, al
jne 0x55140d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x5514c4
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x64d798
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d798
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x551a08
mov eax, dword [ebp - 0x2f64]
lea ecx, [ebp - 0x2e30]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x1fa4]
mov dword [ebp - 0x2f64], eax
call fcn.0053f120
test al, al
jne 0x5513a0
mov edx, dword [ebp - 0x2f84]
inc edx
mov dword [ebp - 0x2f84], edx
cmp edx, 3
jb 0x5512a0
mov eax, dword [ebp - 0x2f78]
mov ecx, dword [ebp - 0x2f70]
inc eax
add ecx, dword [ebp - 0x2f6c]
add dword [ebp - 0x2e24], 0xc
mov dword [ebp - 0x2f78], eax
mov dword [ebp - 0x2f70], ecx
cmp eax, dword [ebp - 0x2f80]
jb 0x551264
push 0
lea ecx, [edi + 0x1298]
call fcn.004d9e70
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
push 0
lea ecx, [edi + 0x1298]
call fcn.004da270
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00543b90
mov eax, dword [ebp - 0x2f74]
add eax, dword [ebp - 0x2f6c]
mov dword [ebp - 0x2f74], eax
mov eax, dword [ebp - 0x2f8c]
test eax, eax
je 0x551603
xor ecx, ecx
mov dword [ebp - 0x2f84], eax
mov dword [ebp - 0x2f70], ecx
nop dword [eax]
nop dword [eax + eax]
mov esi, dword [ebp - 0x2090]
mov edi, dword [ebp - 0x1ff8]
add esi, ecx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
add edi, ecx
lea ecx, [ebp - 0x1fb0]
push 0
call fcn.00544f70
push eax
mov ecx, esi
call fcn.00544f70
push eax
mov ecx, edi
call fcn.00544fe0
mov ecx, dword [ebp - 0x2f70]
add ecx, 0xc
sub dword [ebp - 0x2f84], 1
mov dword [ebp - 0x2f70], ecx
jne 0x5515a0
mov edi, dword [ebp - 0x2fa0]
mov eax, dword [ebp - 0x2f8c]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x1ff8]
push 0
lea esi, [eax + ecx*4]
lea ecx, [edi + 0x1298]
call fcn.004d9ee0
push eax
mov ecx, esi
call fcn.005452f0
push 0x250
xorps xmm0, xmm0
lea eax, [ebp - 0x2798]
push 0
movups xmmword [ebp - 0x2548], xmm0
push eax
mov dword [ebp - 0x2548], 0xffffffff
call fcn.004201d0
add esp, 0xc
push 0x4c
lea eax, [ebp - 0x22c8]
mov byte [ebp - 4], 0x1a
push 0
push eax
call fcn.004201d0
add esp, 0xc
lea ecx, [ebp - 0x22c8]
call fcn.00538040
mov eax, dword [ebp - 0x2f8c]
mov esi, dword [ebp - 0x2f88]
inc eax
xor ecx, ecx
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x2f78], 0
mov dword [ebp - 0x2f84], eax
mov dword [ebp - 0x2e24], 0
mov dword [ebp - 0x2f70], ecx
mov eax, ecx
xor edx, edx
div dword [ebp - 0x2f84]
push 0
add eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x5519eb
mov eax, dword [ebp - 0x2f8c]
cmp dword [ebp - 0x2f78], eax
jne 0x5516eb
push 0x6865f8
lea ecx, [ebp - 0x1fc0]
call fcn.005452f0
jmp 0x551724
mov ecx, dword [ebp - 0x2e24]
add ecx, dword [ebp - 0x2030]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x686624
call fcn.00544f70
push eax
push 0x686380
lea ecx, [ebp - 0x1fc0]
call fcn.00544fe0
mov ecx, dword [ebp - 0x2e24]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x63a57c
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1ff0]
call fcn.00544fe0
push 3
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2798]
call fcn.00401820
test al, al
je 0x55194c
nop dword [eax + eax]
push 0
mov edx, 0x642ee0
lea ecx, [ebp - 0x276c]
call fcn.00541930
test eax, eax
je 0x551939
xor edx, edx
lea eax, [ebp - 0x276c]
cmp word [ebp - 0x276c], dx
je 0x5517c5
nop dword [eax + eax]
movzx ecx, word [eax + 2]
add eax, 2
cmp ecx, 0x2e
jne 0x5517c0
mov edx, eax
jmp 0x5517b0
test cx, cx
jne 0x5517b0
push edx
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
mov ecx, dword [ebp - 0x2e24]
lea eax, [ebp - 0x276c]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push eax
push 0x61d048
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544fe0
push 0x6291f4
lea ecx, [ebp - 0x1fb0]
call fcn.005452a0
test al, al
je 0x551881
push 0
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x22c8]
call fcn.00537f00
lea ecx, [ebp - 0x22c8]
call fcn.00537e80
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005452f0
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
call dword [0x5fd680]
test eax, eax
jne 0x551881
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x551939
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x64d798
lea eax, [ebp - 0x276c]
push eax
push 0x64d798
lea ecx, [ebp - 0x1fc0]
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x5519eb
lea ecx, [ebp - 0x2798]
call fcn.004017d0
test al, al
jne 0x551780
mov eax, dword [ebp - 0x2f78]
mov ecx, dword [ebp - 0x2f70]
inc eax
add ecx, dword [ebp - 0x2f6c]
add dword [ebp - 0x2e24], 0xc
mov dword [ebp - 0x2f78], eax
mov dword [ebp - 0x2f70], ecx
cmp eax, dword [ebp - 0x2f8c]
jbe 0x5516a3
push 0
push 0x686650
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2f6c]
mov ecx, dword [ebp - 0x2f90]
push 0
lea eax, [eax + eax*2]
sub ecx, eax
mov eax, dword [ebp - 0x2f74]
add eax, ecx
lea ecx, [edi + 0x14c0]
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00513c80
lea ecx, [ebp - 0x22c8]
call fcn.00537b60
mov eax, dword [ebp - 0x2548]
cmp eax, 0xffffffff
je 0x5519da
push eax
call dword [0x5fd4a4]
lea ecx, [ebp - 0x21a0]
mov byte [ebp - 4], 0x18
call fcn.005420e0
jmp 0x551a25
lea ecx, [ebp - 0x22c8]
call fcn.00537b60
mov eax, dword [ebp - 0x2548]
cmp eax, 0xffffffff
je 0x551a08
push eax
call dword [0x5fd4a4]
lea ecx, [ebp - 0x21a0]
call fcn.005420e0
mov byte [ebp - 0x2f65], 2
jmp 0x55718e
mov esi, dword [ebp - 0x2f88]
xorps xmm0, xmm0
mov dword [ebp - 0x2074], 0
lea ecx, [ebp - 0x207c]
movq qword [ebp - 0x207c], xmm0
call fcn.005453c0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x2040]
xorps xmm0, xmm0
mov dword [ebp - 0x2038], 0
movq qword [ebp - 0x2040], xmm0
call fcn.005453c0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x2160]
xorps xmm0, xmm0
mov dword [ebp - 0x2158], 0
movq qword [ebp - 0x2160], xmm0
call fcn.005453c0
push 8
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2e38]
push 0x686708
mov dword [ebp - 0x2e38], 0
call fcn.004019a0
mov eax, dword [ebp - 0x2f9c]
mov byte [ebp - 4], 0x1f
test al, 4
je 0x552b06
push 0x686760
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x55723c
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x6867c0
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov eax, dword [ebp - 0x2f8c]
test eax, eax
je 0x551b98
xor edi, edi
mov dword [ebp - 0x2f70], eax
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x2054]
mov esi, dword [ebp - 0x1ff8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ecx + edi]
add esi, edi
push 0x645d20
call fcn.00544f70
push eax
push str.HKU_
mov ecx, esi
call fcn.00544fe0
add edi, 0xc
sub dword [ebp - 0x2f70], 1
jne 0x551b40
mov edi, dword [ebp - 0x2fa0]
mov esi, dword [ebp - 0x2f88]
mov eax, dword [ebp - 0x2f8c]
lea ecx, [eax + eax*2]
shl ecx, 2
mov dword [ebp - 0x2f70], ecx
add ecx, dword [ebp - 0x1ff8]
push 0x645a40
call fcn.005452f0
cmp byte [edi + 0x28], 0
je 0x551bd5
mov eax, dword [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x2f70]
add eax, 0xc
push 0x645b50
add ecx, eax
call fcn.005452f0
mov eax, dword [ebp - 0x2f90]
cdq
and edx, 3
mov dword [ebp - 0x2f78], 0
add eax, edx
sar eax, 2
cmp dword [ebp - 0x2f80], 0
mov dword [ebp - 0x2e24], eax
jbe 0x551ef3
xor ecx, ecx
mov dword [ebp - 0x2f64], 0
mov dword [ebp - 0x2f70], ecx
mov eax, ecx
xor edx, edx
div dword [ebp - 0x2f80]
push 0
add eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x55723c
mov eax, dword [ebp - 0x2f78]
cmp eax, dword [ebp - 0x2f8c]
jae 0x551c84
mov ecx, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x2030]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x686890
call fcn.00544f70
push eax
push 0x686380
lea ecx, [ebp - 0x1fc0]
call fcn.00544fe0
jmp 0x551c9d
lea ecx, [ebp - 0x1fc0]
jne 0x551c93
push 0x6868b0
jmp 0x551c98
push 0x6868d0
call fcn.005452f0
mov ecx, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0x20019
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f870
test al, al
je 0x551ebb
lea eax, [ebp - 0x1f94]
push eax
push 0x645d78
lea ecx, [ebp - 0x1fa4]
call fcn.0053f580
test al, al
je 0x551d45
lea ecx, [ebp - 0x1f94]
call fcn.00545180
test eax, eax
je 0x551d45
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6868f4
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x68691c
lea ecx, [ebp - 0x1fc0]
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
lea eax, [ebp - 0x1f94]
push eax
push 0x66152c
lea ecx, [ebp - 0x1fa4]
call fcn.0053f580
test al, al
je 0x551dc1
lea ecx, [ebp - 0x1f94]
call fcn.00545180
test eax, eax
je 0x551dc1
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x686940
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x686988
lea ecx, [ebp - 0x1fc0]
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
lea eax, [ebp - 0x1f94]
push eax
push 0x67b0e8
lea ecx, [ebp - 0x1fa4]
call fcn.0053f580
test al, al
je 0x551ebb
lea ecx, [ebp - 0x1f94]
call fcn.00545180
test eax, eax
je 0x551ebb
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
call dword [0x5fd680]
test eax, eax
jne 0x551e24
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
push 0
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
push 0x6869c8
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x6869ec
lea ecx, [ebp - 0x1fc0]
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x55723c
mov eax, dword [ebp - 0x2f78]
mov ecx, dword [ebp - 0x2f70]
inc eax
add ecx, dword [ebp - 0x2e24]
add dword [ebp - 0x2f64], 0xc
mov dword [ebp - 0x2f78], eax
mov dword [ebp - 0x2f70], ecx
cmp eax, dword [ebp - 0x2f80]
jb 0x551c13
mov eax, dword [ebp - 0x2e24]
mov ecx, dword [ebp - 0x2f74]
mov esi, dword [ebp - 0x2f8c]
cdq
and edx, 3
add eax, edx
sar eax, 2
add ecx, eax
mov dword [ebp - 0x2f74], ecx
mov dword [ebp - 0x2f64], ecx
test esi, esi
je 0x551f74
xor edi, edi
mov dword [ebp - 0x2f70], esi
mov ecx, dword [ebp - 0x2054]
mov esi, dword [ebp - 0x1ff8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ecx + edi]
add esi, edi
push 0x6461c8
call fcn.00544f70
push eax
push str.HKU_
mov ecx, esi
call fcn.00544fe0
add edi, 0xc
sub dword [ebp - 0x2f70], 1
jne 0x551f22
mov edi, dword [ebp - 0x2fa0]
mov esi, dword [ebp - 0x2f8c]
mov eax, dword [ebp - 0x1ff8]
lea ecx, [esi + esi*2]
push 0x645ff8
lea ecx, [eax + ecx*4]
call fcn.005452f0
cmp byte [edi + 0x28], 0
je 0x551fa9
mov eax, dword [ebp - 0x1ff8]
lea ecx, [esi + 1]
lea ecx, [ecx + ecx*2]
push 0x646068
lea ecx, [eax + ecx*4]
call fcn.005452f0
cmp dword [ebp - 0x2f80], 0
mov esi, dword [ebp - 0x2f88]
mov dword [ebp - 0x2f78], 0
jbe 0x552675
xor ecx, ecx
mov dword [ebp - 0x2f6c], 0
mov dword [ebp - 0x2f70], ecx
nop dword [eax + eax]
mov eax, ecx
xor edx, edx
div dword [ebp - 0x2f80]
push 0
add eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x55723c
mov ecx, dword [ebp - 0x2f6c]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0x20019
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f870
test al, al
je 0x5521ac
mov eax, dword [ebp - 0x2f78]
cmp eax, dword [ebp - 0x2f8c]
jae 0x55207d
mov ecx, dword [ebp - 0x2f6c]
add ecx, dword [ebp - 0x2030]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x686a10
call fcn.00544f70
push eax
push 0x686380
lea ecx, [ebp - 0x1fc0]
call fcn.00544fe0
jmp 0x552096
lea ecx, [ebp - 0x1fc0]
jne 0x55208c
push 0x686a28
jmp 0x552091
push 0x686a40
call fcn.005452f0
lea eax, [ebp - 0x2e30]
mov dword [ebp - 0x2f84], 0
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f1c0
test al, al
je 0x5521ac
mov esi, dword [ebp - 0x2f84]
mov edi, dword [ebp - 0x2f6c]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x1ff8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x2e30]
lea ecx, [ecx + edi]
push 0x61d048
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1ff0]
call fcn.00544fe0
lea eax, [ebp - 0x1fb0]
push eax
push 0x657bec
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
test al, al
je 0x552184
lea ecx, [ebp - 0x1fb0]
call fcn.00544c70
test al, al
jne 0x552184
push 0
push 0
push 0
push 0
push 0
push 0x686a5c
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x64d798
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d798
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x2e30]
inc esi
push eax
push esi
lea ecx, [ebp - 0x1fa4]
call fcn.0053f1c0
test al, al
jne 0x5520d0
mov edi, dword [ebp - 0x2fa0]
mov esi, dword [ebp - 0x2f88]
mov eax, dword [ebp - 0x2f78]
mov ecx, dword [ebp - 0x2f70]
inc eax
mov edx, dword [ebp - 0x2e24]
add ecx, edx
add dword [ebp - 0x2f6c], 0xc
mov dword [ebp - 0x2f78], eax
mov dword [ebp - 0x2f70], ecx
cmp eax, dword [ebp - 0x2f80]
jb 0x551fe0
mov eax, edx
mov dword [ebp - 0x2f78], 0
cdq
and edx, 3
mov dword [ebp - 0x2f6c], 0
add eax, edx
sar eax, 2
add eax, dword [ebp - 0x2f64]
xor ecx, ecx
mov dword [ebp - 0x2f74], eax
mov eax, dword [ebp - 0x2f90]
mov dword [ebp - 0x2f84], ecx
mov dword [ebp - 0x2f90], eax
nop
mov eax, ecx
xor edx, edx
div dword [ebp - 0x2f80]
push 0
add eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x55723c
mov eax, dword [ebp - 0x2f78]
cmp eax, dword [ebp - 0x2f8c]
jae 0x552307
mov ecx, dword [ebp - 0x2f6c]
add ecx, dword [ebp - 0x2054]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6619b8
call fcn.00544f70
push eax
push str.HKU_
lea ecx, [ebp - 0x1ff0]
call fcn.00544fe0
mov ecx, dword [ebp - 0x2f6c]
add ecx, dword [ebp - 0x2054]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x686a8c
call fcn.00544f70
push eax
push str.HKU_
lea ecx, [ebp - 0x207c]
call fcn.00544fe0
mov ecx, dword [ebp - 0x2f6c]
add ecx, dword [ebp - 0x2030]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x686abc
call fcn.00544f70
push eax
push 0x686380
lea ecx, [ebp - 0x1fc0]
call fcn.00544fe0
jmp 0x552352
push 1
lea ecx, [ebp - 0x1ff0]
jne 0x552324
push 0x645f10
call fcn.00545040
push 1
push 0x686ad4
jmp 0x552335
push 0x645f78
call fcn.00545040
push 1
push 0x686b38
lea ecx, [ebp - 0x207c]
call fcn.00545040
push 1
push 0x686b0c
lea ecx, [ebp - 0x1fc0]
call fcn.00545040
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f870
test al, al
je 0x55263b
lea eax, [ebp - 0x2e30]
mov dword [ebp - 0x2f70], 0
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f120
test al, al
je 0x55263b
nop
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
push 0
push dword [ebp - 0x2e38]
lea ecx, [ebp - 0x1fb0]
call fcn.00542720
test al, al
je 0x552613
lea ecx, [ebp - 0x1f94]
call fcn.005451e0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f420
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d048
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2040]
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x61d050
lea ecx, [ebp - 0x2040]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
test al, al
je 0x552444
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
je 0x55249e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f440
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d048
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2040]
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x61d050
lea ecx, [ebp - 0x2040]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
je 0x552507
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f440
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d048
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2040]
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x61d050
lea ecx, [ebp - 0x2040]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
lea ecx, [ebp - 0x1f94]
test al, al
je 0x552528
push 0x686b88
call fcn.005452f0
jmp 0x55255c
push 3
lea edx, [edi + 0x1c]
call fcn.005373a0
test al, al
jne 0x55255c
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x552613
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x64d798
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d798
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x55723c
mov eax, dword [ebp - 0x2f70]
lea ecx, [ebp - 0x2e30]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x1fa4]
mov dword [ebp - 0x2f70], eax
call fcn.0053f120
test al, al
jne 0x5523a0
mov eax, dword [ebp - 0x2f78]
mov ecx, dword [ebp - 0x2f84]
inc eax
add ecx, dword [ebp - 0x2e24]
add dword [ebp - 0x2f6c], 0xc
mov dword [ebp - 0x2f78], eax
mov dword [ebp - 0x2f84], ecx
cmp eax, dword [ebp - 0x2f80]
jb 0x552220
mov ecx, dword [ebp - 0x2f74]
jmp 0x55268c
mov eax, dword [ebp - 0x2e24]
mov ecx, dword [ebp - 0x2f74]
cdq
and edx, 3
add eax, edx
sar eax, 2
add ecx, eax
mov eax, dword [ebp - 0x2e24]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
cdq
push 0
and edx, 3
mov dword [ebp - 0x2fbc], 0x645828
push 0
add eax, edx
mov dword [ebp - 0x2fb8], 0x6458c8
sar eax, 2
push 0
add ecx, eax
mov dword [ebp - 0x2fb4], 0
push 0x686ba8
mov dword [ebp - 0x2f74], ecx
lea ecx, [edi + 0x1298]
push 0
mov dword [ebp - 0x2fac], 0x646790
call fcn.004d9fa0
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00544fe0
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
mov dword [ebp - 0x2fb0], eax
xor eax, eax
mov dword [ebp - 0x2f6c], eax
nop word [eax + eax]
push 0
push 0x20019
push dword [ebp + eax*4 - 0x2fbc]
lea ecx, [ebp - 0x1fa4]
call fcn.0053f870
test al, al
je 0x552aa9
mov eax, dword [ebp - 0x2f6c]
lea ecx, [edi + 0x14c0]
imul eax, dword [ebp - 0x2e24]
xor edx, edx
push 0
div dword [ebp - 0x2f80]
add eax, dword [ebp - 0x2f74]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x55723c
mov eax, dword [ebp - 0x2f6c]
test eax, eax
jne 0x5527c4
push 0x686c14
lea ecx, [ebp - 0x1fc0]
call fcn.005452f0
push 0x686ad4
lea ecx, [ebp - 0x207c]
call fcn.005452f0
xor eax, eax
cmp dword [ebp - 0x2f6c], 2
lea ecx, [ebp - 0x2e30]
push ecx
mov dword [ebp - 0x2f70], eax
lea ecx, [ebp - 0x1fa4]
push eax
jae 0x552817
call fcn.0053f1c0
jmp 0x55281c
cmp eax, 1
jne 0x5527e0
push 0x686c20
lea ecx, [ebp - 0x1fc0]
call fcn.005452f0
push 0x686b38
jmp 0x552793
cmp eax, 2
jne 0x5527ec
push 0x686c38
jmp 0x552783
cmp eax, 3
jne 0x5527f8
push 0x686c5c
jmp 0x552783
cmp eax, 4
jne 0x55278e
push 0x686c84
lea ecx, [ebp - 0x1fc0]
call fcn.005452f0
push 0x686b38
jmp 0x552793
call fcn.0053f120
test al, al
je 0x552aa9
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1f94]
call fcn.005452f0
push 0
push dword [ebp - 0x2e38]
lea ecx, [ebp - 0x1f94]
call fcn.00542720
test al, al
je 0x552a9d
lea ecx, [ebp - 0x1f94]
call fcn.005451e0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f420
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d048
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2040]
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x61d050
lea ecx, [ebp - 0x2040]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
test al, al
je 0x5528c8
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
je 0x552922
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f440
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d048
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2040]
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x61d050
lea ecx, [ebp - 0x2040]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
je 0x55298b
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f440
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d048
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2040]
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x61d050
lea ecx, [ebp - 0x2040]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
je 0x5529ac
push 0x686b88
lea ecx, [ebp - 0x1f94]
call fcn.005452f0
jmp 0x5529e6
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1fb0]
call fcn.005373a0
test al, al
jne 0x5529e6
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x552a9d
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x64d798
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d798
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x55723c
mov eax, dword [ebp - 0x2f70]
inc eax
jmp 0x5527a0
mov eax, dword [ebp - 0x2f6c]
inc eax
mov dword [ebp - 0x2f6c], eax
cmp eax, 5
jb 0x552720
mov eax, dword [ebp - 0x2e24]
mov ecx, dword [ebp - 0x2f90]
mov esi, dword [ebp - 0x2f74]
push 0
lea eax, [eax + eax*2]
sub ecx, eax
add esi, ecx
lea ecx, [edi + 0x14c0]
push esi
mov dword [ebp - 0x2f74], esi
call fcn.00513c80
push 0
push 0x686cc0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2f9c]
jmp 0x552b0c
mov esi, dword [ebp - 0x2f74]
test al, 8
je 0x5532a7
push 0x686d90
push esi
lea ecx, [edi + 0x14c0]
call fcn.00513c80
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
jne 0x55723c
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x686e00
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov eax, dword [ebp - 0x2f90]
cdq
sub eax, edx
sar eax, 1
xor ecx, ecx
mov dword [ebp - 0x2f78], eax
mov dword [ebp - 0x2f84], ecx
test ecx, ecx
lea ecx, [ebp - 0x1ff0]
jne 0x552bae
push 0x6456b8
call fcn.005452f0
push 1
push 0x686ebc
jmp 0x552bbf
push 0x645758
call fcn.005452f0
push 1
push 0x686edc
lea ecx, [ebp - 0x1fc0]
call fcn.00545040
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f870
test al, al
je 0x552d8c
xor eax, eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x2f70], eax
jne 0x55723c
lea ecx, [ebp - 0x2e30]
push ecx
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f1c0
test al, al
je 0x552d8c
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1ff0]
push 0x61d048
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2160]
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push str.Debugger
lea ecx, [ebp - 0x2160]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
test al, al
je 0x552d80
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
jne 0x552d80
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.005373a0
test al, al
jne 0x552cc9
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x552d80
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x64d798
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d798
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x55723c
mov eax, dword [ebp - 0x2f70]
inc eax
jmp 0x552bf2
mov ecx, dword [ebp - 0x2f84]
xor eax, eax
inc ecx
cmp byte [edi + 0x28], al
mov dword [ebp - 0x2f84], ecx
setne al
inc eax
cmp ecx, eax
jl 0x552b91
mov eax, dword [ebp - 0x2f74]
lea ecx, [ebp - 0x2188]
add eax, dword [ebp - 0x2f78]
xorps xmm0, xmm0
mov dword [ebp - 0x2f74], eax
movq qword [ebp - 0x2188], xmm0
mov dword [ebp - 0x2180], 0
call fcn.005453c0
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x2fc8]
xor ecx, ecx
mov dword [ebp - 0x2fc8], 0x686f04
mov dword [ebp - 0x2fc4], 0x686f20
lea edx, [edi + 0x14c0]
mov dword [ebp - 0x2fc0], 0x686f68
mov dword [ebp - 0x2fbc], 0x686fa8
mov dword [ebp - 0x2fb8], 0x687014
mov dword [ebp - 0x2fb4], 0x687038
mov dword [ebp - 0x2fb0], 0x687088
mov dword [ebp - 0x2fac], 0x6870b8
mov dword [ebp - 0x2f64], 0
mov dword [ebp - 0x2f84], ecx
mov dword [ebp - 0x2f6c], eax
mov eax, ecx
mov ecx, edx
shr eax, 3
add eax, dword [ebp - 0x2f74]
push 0
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x553290
cmp dword [ebp - 0x2f64], 4
lea ecx, [ebp - 0x1fc0]
jae 0x552e89
push 0x687110
jmp 0x552e8e
push 0x687134
call fcn.005452f0
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1fa4]
push 0
push 0x20019
push dword [eax]
call fcn.0053f870
test al, al
je 0x55320a
lea eax, [ebp - 0x2e30]
mov dword [ebp - 0x2f70], 0
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f1c0
test al, al
je 0x55320a
mov eax, dword [ebp - 0x2f64]
and eax, 1
mov dword [ebp - 0x2e24], eax
nop word [eax + eax]
test eax, eax
jne 0x553035
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1ff0]
push str.Command
push dword [ebp - 0x2e30]
push 0x61d048
push dword [eax]
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x61d050
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
je 0x552fe1
lea eax, [ebp - 0x2040]
push eax
push str.DelegateExecute
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
lea ecx, [ebp - 0x2040]
call fcn.00545180
test eax, eax
je 0x552fe1
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67be18
lea ecx, [ebp - 0x2040]
call fcn.00544f70
push eax
push 0x67be00
lea ecx, [ebp - 0x1ff0]
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x61d050
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
je 0x553115
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1ff0]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67be38
push dword [ebp - 0x2e30]
push 0x61d048
push dword [eax]
call fcn.00544fe0
lea eax, [ebp - 0x2040]
push eax
push 0x63d328
jmp 0x553099
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x2040]
call fcn.005452f0
push 0
push dword [ebp - 0x2e38]
lea ecx, [ebp - 0x2040]
call fcn.00542720
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
test al, al
jne 0x5530d1
push dword [ebp - 0x2e30]
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1ff0]
push 0x61d048
push dword [eax]
call fcn.00544fe0
lea eax, [ebp - 0x2040]
push eax
push 0x61d050
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
lea ecx, [ebp - 0x2040]
call fcn.00545180
test eax, eax
je 0x553115
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67be18
lea ecx, [ebp - 0x2040]
call fcn.00544f70
push eax
push 0x67be00
lea ecx, [ebp - 0x1ff0]
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x61d050
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f410
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.005373a0
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x5531dc
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x64d798
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d798
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x553290
mov eax, dword [ebp - 0x2f70]
lea ecx, [ebp - 0x2e30]
inc eax
push ecx
push eax
lea ecx, [ebp - 0x1fa4]
mov dword [ebp - 0x2f70], eax
call fcn.0053f1c0
test al, al
mov eax, dword [ebp - 0x2e24]
jne 0x552ef0
mov eax, dword [ebp - 0x2f64]
lea edx, [edi + 0x14c0]
mov ecx, dword [ebp - 0x2f84]
inc eax
add ecx, dword [ebp - 0x2f78]
add dword [ebp - 0x2f6c], 4
mov dword [ebp - 0x2f64], eax
mov dword [ebp - 0x2f84], ecx
cmp eax, 8
jb 0x552e54
mov eax, dword [ebp - 0x2f90]
sub eax, dword [ebp - 0x2f78]
mov ecx, dword [ebp - 0x2f74]
add ecx, eax
push 0
mov dword [ebp - 0x2f74], ecx
push ecx
lea ecx, [edi + 0x14c0]
call fcn.00513c80
push 0
push 0x687160
lea ecx, [ebp - 0x2018]
call fcn.005322d0
lea ecx, [ebp - 0x2188]
mov byte [ebp - 4], 0x1f
call fcn.00545210
mov eax, dword [ebp - 0x2f9c]
jmp 0x5532ad
lea ecx, [ebp - 0x2188]
call fcn.00545210
mov byte [ebp - 0x2f65], 2
jmp 0x557150
mov esi, dword [ebp - 0x2f88]
test al, 0x10
je 0x553d53
push 0x68720c
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00513c80
cmp byte [esi + 4], 0
je 0x5532dd
mov byte [ebp - 0x2f65], 2
jmp 0x557150
mov eax, 0x55555556
xorps xmm0, xmm0
imul dword [ebp - 0x2f90]
movlpd qword [ebp - 0x2e54], xmm0
mov dword [ebp - 0x2e54], 0
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x2f64], eax
mov dword [ebp - 0x2058], 0
mov dword [ebp - 0x2028], 0
push 0x80000000
push 0
push 0
mov byte [ebp - 4], 0x22
call dword [0x5fd108]
mov dword [ebp - 0x2e24], eax
test eax, eax
je 0x553674
push 0
push 0
lea ecx, [ebp - 0x2028]
push ecx
lea ecx, [ebp - 0x2058]
push ecx
push 0
push 0
push 3
push 0x30
push 0
push eax
call dword [0x5fd064]
call dword [0x5fd44c]
cmp eax, 0xea
jne 0x553674
cmp byte [esi + 4], 0
jne 0x553674
mov eax, dword [ebp - 0x2058]
lea ecx, [ebp - 0x2e54]
add eax, 0x400
push eax
mov dword [ebp - 0x2f70], eax
call fcn.00403f80
test eax, eax
je 0x553674
push 0
push 0
lea eax, [ebp - 0x2028]
push eax
lea eax, [ebp - 0x2058]
push eax
push dword [ebp - 0x2f70]
push dword [ebp - 0x2e54]
push 3
push 0x30
push 0
push dword [ebp - 0x2e24]
call dword [0x5fd064]
test eax, eax
je 0x553674
mov eax, dword [ebp - 0x2e54]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2028]
mov dword [ebp - 0x2f6c], eax
call fcn.00544050
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2f98]
push 0x687238
call fcn.00544f70
push eax
push 0x6872cc
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov ecx, dword [ebp - 0x2028]
mov dword [ebp - 0x2f70], 0
test ecx, ecx
je 0x553662
xor eax, eax
mov dword [ebp - 0x2f84], eax
xor edx, edx
div ecx
push 0
add eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x553d83
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1ff0]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x64d0f0
push dword [eax]
push 0x64d108
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x64d190
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f410
test al, al
je 0x5534ee
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
je 0x553548
push 0
lea ecx, [ebp - 0x1ff0]
call fcn.00544c90
lea eax, [ebp - 0x1f94]
push eax
push 0x64d190
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f410
test al, al
je 0x553531
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
je 0x553548
lea eax, [ebp - 0x1f94]
push eax
push 0x6287a4
lea ecx, [ebp - 0x1fa4]
call fcn.0053f580
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.005373a0
test al, al
jne 0x553582
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x55362e
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1fa0]
push 0x64d798
push dword [eax]
push 0x6872ec
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x553d83
mov edx, dword [ebp - 0x2f70]
mov eax, dword [ebp - 0x2f84]
inc edx
add eax, dword [ebp - 0x2f64]
add dword [ebp - 0x2f6c], 0x2c
mov ecx, dword [ebp - 0x2028]
mov dword [ebp - 0x2f70], edx
mov dword [ebp - 0x2f84], eax
cmp edx, ecx
jb 0x553467
push 0
push 0x687310
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
add eax, dword [ebp - 0x2f64]
push 0x6873b4
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x553c8a
push 0
push 0
lea eax, [ebp - 0x2028]
push eax
lea eax, [ebp - 0x2058]
push eax
push 0
push 0
push 3
push 0xb
push 0
push dword [ebp - 0x2e24]
call dword [0x5fd064]
call dword [0x5fd44c]
cmp eax, 0xea
jne 0x5539f5
cmp byte [esi + 4], 0
jne 0x5539f5
mov eax, dword [ebp - 0x2058]
lea ecx, [ebp - 0x2e54]
add eax, 0x400
push eax
mov dword [ebp - 0x2f70], eax
call fcn.00403f80
test eax, eax
je 0x5539f5
push 0
push 0
lea eax, [ebp - 0x2028]
push eax
lea eax, [ebp - 0x2058]
push eax
push dword [ebp - 0x2f70]
push dword [ebp - 0x2e54]
push 3
push 0xb
push 0
push dword [ebp - 0x2e24]
call dword [0x5fd064]
test eax, eax
je 0x5539f5
mov eax, dword [ebp - 0x2e54]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2028]
mov dword [ebp - 0x2f6c], eax
call fcn.00544050
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2f98]
push 0x6873f0
call fcn.00544f70
push eax
push 0x687490
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d048
push dword [edi + 0x20]
lea ecx, [ebp - 0x1fb0]
call fcn.00544fe0
mov ecx, dword [ebp - 0x2028]
mov dword [ebp - 0x2f70], 0
test ecx, ecx
je 0x5539e3
xor eax, eax
mov dword [ebp - 0x2f84], eax
xor edx, edx
div ecx
push 0
add eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x553c8a
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1ff0]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [eax]
push 0x64d108
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
push 0x6287a4
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f410
test al, al
je 0x553879
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
je 0x5538a9
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1f94]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str..sys
push dword [eax]
push str.drivers_
push dword [edi + 0x24]
call fcn.00544fe0
push 0
push 1
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push str.SystemRoot_
lea ecx, [ebp - 0x1f94]
call fcn.005430c0
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.005373a0
test al, al
jne 0x553903
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x5539af
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1fa0]
push 0x64d798
push dword [eax]
push 0x6874c0
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x553c8a
mov edx, dword [ebp - 0x2f70]
mov eax, dword [ebp - 0x2f84]
inc edx
add eax, dword [ebp - 0x2f64]
add dword [ebp - 0x2f6c], 0x2c
mov ecx, dword [ebp - 0x2028]
mov dword [ebp - 0x2f70], edx
mov dword [ebp - 0x2f84], eax
cmp edx, ecx
jb 0x5537f5
push 0
push 0x6874e0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
add eax, dword [ebp - 0x2f64]
push 0x687594
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00513c80
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x6875d0
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
movsd xmm0, qword [edi + 8]
comisd xmm0, xmmword [0x6e3260]
jb 0x553ccf
mov dword [ebp - 0x2e34], 0
lea eax, [ebp - 0x2e34]
push eax
push 0x617720
push 1
push 0
push 0x617730
call dword [0x5fdad4]
test eax, eax
jns 0x553aa0
mov byte [ebp - 4], 0x24
jmp 0x553cb7
mov esi, dword [0x5fd584]
lea eax, [ebp - 0x2ff8]
push eax
call esi
movups xmm0, xmmword [ebp - 0x2ff8]
lea eax, [ebp - 0x3008]
push eax
movups xmmword [ebp - 0x2fe8], xmm0
call esi
movups xmm0, xmmword [ebp - 0x3008]
lea eax, [ebp - 0x3028]
push eax
movups xmmword [ebp - 0x3038], xmm0
call esi
movups xmm0, xmmword [ebp - 0x3028]
lea eax, [ebp - 0x3018]
push eax
movups xmmword [ebp - 0x2fb8], xmm0
call esi
mov byte [ebp - 4], 0x28
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x2fe8]
mov eax, dword [ebp - 0x2e34]
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x3038]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0x2fb8]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [ebp - 0x3018]
push eax
mov eax, dword [edx + 0x28]
movups xmmword [ecx], xmm0
call eax
mov esi, dword [0x5fd574]
shr eax, 0x1f
mov dword [ebp - 0x2f70], eax
lea eax, [ebp - 0x3018]
push eax
call esi
lea eax, [ebp - 0x3028]
push eax
call esi
lea eax, [ebp - 0x3008]
push eax
call esi
lea eax, [ebp - 0x2ff8]
push eax
call esi
cmp byte [ebp - 0x2f70], 0
je 0x553ba3
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x2e34]
test eax, eax
je 0x553b94
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov esi, dword [ebp - 0x2f88]
mov byte [ebp - 4], 0x22
jmp 0x553ceb
mov dword [ebp - 0x2e4c], 0
push 0x61d048
lea ecx, [ebp - 0x2fd0]
mov byte [ebp - 4], 0x2a
call fcn.00401a70
mov byte [ebp - 4], 0x2b
mov eax, dword [eax]
test eax, eax
je 0x553bcf
mov edx, dword [eax]
jmp 0x553bd1
xor edx, edx
mov eax, dword [ebp - 0x2e34]
lea esi, [ebp - 0x2e4c]
push esi
push edx
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0x1c]
call eax
shr eax, 0x1f
mov byte [ebp - 4], 0x2a
mov ecx, dword [ebp - 0x2fd0]
mov dword [ebp - 0x2f70], eax
test ecx, ecx
je 0x553c13
call fcn.00401c30
mov eax, dword [ebp - 0x2f70]
mov dword [ebp - 0x2fd0], 0
test al, al
je 0x553c36
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x2e4c]
test eax, eax
je 0x553c2d
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x2d
jmp 0x553b82
mov esi, dword [ebp - 0x2f88]
mov ecx, edi
lea eax, [esi + 4]
push eax
lea eax, [ebp - 0x2018]
push eax
push dword [ebp - 0x2f7c]
push dword [ebp - 0x2e4c]
call fcn.0054e3b0
test al, al
jne 0x553c9d
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0x2e4c]
test eax, eax
je 0x553c74
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x2f
mov eax, dword [ebp - 0x2e34]
test eax, eax
je 0x553c8a
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov eax, dword [ebp - 0x2e24]
test eax, eax
je 0x553d90
jmp 0x553d89
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x2e4c]
test eax, eax
je 0x553cb3
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x31
mov eax, dword [ebp - 0x2e34]
test eax, eax
je 0x553cc9
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x22
jmp 0x553ceb
lea eax, [esi + 4]
mov ecx, edi
push eax
lea eax, [ebp - 0x2018]
push eax
push dword [ebp - 0x2f7c]
call fcn.0054dfa0
test al, al
je 0x553c8a
mov eax, dword [ebp - 0x2f90]
sub eax, dword [ebp - 0x2f64]
mov ecx, dword [ebp - 0x2f74]
add ecx, eax
push 0
mov dword [ebp - 0x2f74], ecx
push ecx
lea ecx, [edi + 0x14c0]
call fcn.00513c80
push 0
push 0x687670
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2e24]
test eax, eax
je 0x553d36
push eax
call dword [0x5fd114]
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x2e54]
test eax, eax
je 0x553d4d
push eax
call fcn.0041e473
add esp, 4
mov eax, dword [ebp - 0x2f9c]
test al, 0x20
je 0x5546d2
push 0x68771c
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00513c80
cmp byte [esi + 4], 0
je 0x553db3
mov byte [ebp - 0x2f65], 2
jmp 0x557150
mov eax, dword [ebp - 0x2e24]
push eax
call dword [0x5fd114]
mov eax, dword [ebp - 0x2e54]
test eax, eax
je 0x55723c
push eax
call fcn.0041e473
add esp, 4
mov byte [ebp - 0x2f65], 2
jmp 0x557150
push 1
push 0x687760
lea ecx, [ebp - 0x1fa0]
call fcn.00545040
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov eax, dword [ebp - 0x2f8c]
test eax, eax
je 0x553e48
xor edi, edi
mov dword [ebp - 0x2f70], eax
nop dword [eax]
mov ecx, dword [ebp - 0x2054]
mov esi, dword [ebp - 0x1ff8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ecx + edi]
add esi, edi
push 0x664c20
call fcn.00544f70
push eax
push str.HKU_
mov ecx, esi
call fcn.00544fe0
add edi, 0xc
sub dword [ebp - 0x2f70], 1
jne 0x553df0
mov edi, dword [ebp - 0x2fa0]
mov esi, dword [ebp - 0x2f88]
mov eax, dword [ebp - 0x2f8c]
lea ecx, [eax + eax*2]
shl ecx, 2
mov dword [ebp - 0x2f70], ecx
add ecx, dword [ebp - 0x1ff8]
push 0x687830
call fcn.005452f0
cmp byte [edi + 0x28], 0
je 0x553e85
mov eax, dword [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x2f70]
add eax, 0xc
push 0x6878a8
add ecx, eax
call fcn.005452f0
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x2164], 0
push 0x687938
lea ecx, [ebp - 0x216c]
movq qword [ebp - 0x216c], xmm0
call fcn.00545350
mov eax, dword [ebp - 0x2f90]
cdq
sub eax, edx
mov byte [ebp - 4], 0x32
sar eax, 1
cmp dword [ebp - 0x2f80], 0
mov dword [ebp - 0x2f6c], eax
mov dword [ebp - 0x2f78], 0
jbe 0x5542ff
xor ecx, ecx
mov dword [ebp - 0x2f64], 0
mov dword [ebp - 0x2f84], ecx
nop word [eax + eax]
mov eax, ecx
xor edx, edx
div dword [ebp - 0x2f80]
push 0
add eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x5548a0
mov eax, dword [ebp - 0x2f78]
cmp eax, dword [ebp - 0x2f8c]
jae 0x553f61
mov ecx, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x2030]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x68798c
call fcn.00544f70
push eax
push 0x686380
lea ecx, [ebp - 0x1fc0]
call fcn.00544fe0
jmp 0x553f7a
lea ecx, [ebp - 0x1fc0]
jne 0x553f70
push 0x6879a4
jmp 0x553f75
push 0x6879cc
call fcn.005452f0
mov ecx, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0x20019
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f870
test al, al
je 0x5542cd
xor eax, eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x2f70], eax
jne 0x5548a0
lea ecx, [ebp - 0x2e30]
push ecx
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f1c0
test al, al
je 0x5542cd
mov ecx, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x2e30]
push 0x61d048
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1ff0]
call fcn.00544fe0
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f870
test al, al
je 0x5542c1
lea eax, [ebp - 0x1f94]
push eax
push 0x654ae8
lea ecx, [ebp - 0x1fb4]
call fcn.0053f580
test al, al
je 0x5542c1
lea ecx, [ebp - 0x1f94]
call fcn.00544c70
test al, al
jne 0x5542c1
lea eax, [ebp - 0x1fb0]
push eax
push 0x6287d4
lea ecx, [ebp - 0x1fb4]
call fcn.0053f580
test al, al
je 0x5542c1
lea ecx, [ebp - 0x1fb0]
call fcn.00544c70
test al, al
jne 0x5542c1
lea eax, [ebp - 0x2170]
push eax
push 0x664c8c
lea ecx, [ebp - 0x1fb4]
call fcn.0053f4f0
test al, al
je 0x5540bf
cmp dword [ebp - 0x2170], 1
je 0x5542c1
lea eax, [ebp - 0x2024]
push eax
push 0x664cac
lea ecx, [ebp - 0x1fb4]
call fcn.0053f580
test al, al
je 0x5540ed
lea ecx, [ebp - 0x2024]
call fcn.00545180
test eax, eax
jne 0x5542c1
lea eax, [ebp - 0x2024]
push eax
push 0x664cc8
lea ecx, [ebp - 0x1fb4]
call fcn.0053f580
test al, al
je 0x554171
lea ecx, [ebp - 0x2024]
call fcn.00545180
test eax, eax
je 0x554171
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d184
lea ecx, [ebp - 0x2024]
call fcn.00544f70
push eax
push 0x61d184
lea ecx, [ebp - 0x2024]
call fcn.00544fe0
push 0
push 1
push 1
push 0
lea ecx, [ebp - 0x2024]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x216c]
call fcn.005438b0
test eax, eax
jne 0x5542c1
lea eax, [ebp - 0x2024]
push eax
push 0x664d54
lea ecx, [ebp - 0x1fb4]
call fcn.0053f580
test al, al
je 0x55419b
lea ecx, [ebp - 0x2024]
call fcn.00544c70
test al, al
je 0x5541ab
push str.No_publisher
lea ecx, [ebp - 0x2024]
call fcn.005452f0
test byte [ebp - 0x2f7c], 2
je 0x5541d4
push 9
push 1
push 1
push 0
push str.Microsoft
lea ecx, [ebp - 0x2024]
call fcn.005438b0
test eax, eax
jne 0x5542c1
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.005373a0
test al, al
jne 0x55420e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x5542c1
push 0
push 0x621864
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x64d798
lea ecx, [ebp - 0x2024]
call fcn.00544f70
push eax
push 0x64d798
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x64d798
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d798
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x5548a0
mov eax, dword [ebp - 0x2f70]
inc eax
jmp 0x553fa8
mov eax, dword [ebp - 0x2f78]
mov ecx, dword [ebp - 0x2f84]
inc eax
add ecx, dword [ebp - 0x2f6c]
add dword [ebp - 0x2f64], 0xc
mov dword [ebp - 0x2f78], eax
mov dword [ebp - 0x2f84], ecx
cmp eax, dword [ebp - 0x2f80]
jb 0x553ef0
push 0
push 0x687a00
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
add eax, dword [ebp - 0x2f6c]
push 0
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x5548a0
push 0x687aa0
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x5548a0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x687af0
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 8
push 0x687b88
lea ecx, [ebp - 0x2e44]
mov dword [ebp - 0x2e44], 0
call fcn.004019a0
cmp dword [ebp - 0x2f8c], 0
mov byte [ebp - 4], 0x33
mov dword [ebp - 0x2f84], 0
jbe 0x554666
xor ecx, ecx
mov dword [ebp - 0x2f64], 0
mov dword [ebp - 0x2f78], ecx
nop word [eax + eax]
mov eax, ecx
xor edx, edx
div dword [ebp - 0x2f8c]
push 0
add eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x554883
mov ecx, dword [ebp - 0x2f64]
movsd xmm0, qword [0x6e3258]
add ecx, dword [ebp - 0x2054]
comisd xmm0, xmmword [edi + 8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
jbe 0x55444c
push 0x655f28
jmp 0x554451
push 0x655f90
call fcn.00544f70
push eax
push str.HKU_
lea ecx, [ebp - 0x1ff0]
call fcn.00544fe0
mov ecx, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x2030]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x687bd8
call fcn.00544f70
push eax
push 0x686380
lea ecx, [ebp - 0x1fc0]
call fcn.00544fe0
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f870
test al, al
je 0x554634
xor eax, eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x2f70], eax
jne 0x554883
lea ecx, [ebp - 0x2e30]
push ecx
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f120
test al, al
je 0x554634
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1f94]
call fcn.005452f0
push 2
push 2
push 1
push 1
push 0x61e384
lea ecx, [ebp - 0x1f94]
call fcn.005438b0
test eax, eax
je 0x554628
movsd xmm0, qword [edi + 8]
comisd xmm0, xmmword [0x6e3268]
jbe 0x55454b
push 0
push 0x61d050
push dword [ebp - 0x2e44]
lea ecx, [ebp - 0x1f94]
call fcn.00542360
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
call dword [0x5fd680]
test eax, eax
jne 0x55457c
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x554628
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x64d798
lea ecx, [ebp - 0x1fc0]
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x554883
mov eax, dword [ebp - 0x2f70]
inc eax
jmp 0x5544c8
mov eax, dword [ebp - 0x2f84]
mov ecx, dword [ebp - 0x2f78]
inc eax
add ecx, dword [ebp - 0x2f6c]
add dword [ebp - 0x2f64], 0xc
mov dword [ebp - 0x2f84], eax
mov dword [ebp - 0x2f78], ecx
cmp eax, dword [ebp - 0x2f8c]
jb 0x5543f0
push 0
push 0x687bf0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2f90]
sub eax, dword [ebp - 0x2f6c]
mov ecx, dword [ebp - 0x2f74]
add ecx, eax
push 0
mov dword [ebp - 0x2f74], ecx
push ecx
lea ecx, [edi + 0x14c0]
call fcn.00513c80
mov eax, dword [ebp - 0x2e44]
test eax, eax
je 0x5546b3
push eax
call fcn.00418d40
add esp, 4
lea ecx, [ebp - 0x216c]
mov dword [ebp - 0x2e44], 0
mov byte [ebp - 4], 0x1f
call fcn.00545210
mov eax, dword [ebp - 0x2f9c]
test al, 0x40
je 0x55537f
xor eax, eax
lea ecx, [ebp - 0x2088]
cmp byte [edi + 0x28], al
xorps xmm0, xmm0
movq qword [ebp - 0x2088], xmm0
setne al
mov dword [ebp - 0x2080], 0
add eax, 3
mov dword [ebp - 0x2f70], eax
mov eax, dword [ebp - 0x2f90]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x2f6c], eax
call fcn.005453c0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x20a8]
push dword [ebp - 0x2f98]
xorps xmm0, xmm0
mov dword [ebp - 0x20a0], 0
push 0x687ca8
movq qword [ebp - 0x20a8], xmm0
call fcn.00545300
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x20e4]
xorps xmm0, xmm0
mov dword [ebp - 0x20dc], 0
movq qword [ebp - 0x20e4], xmm0
call fcn.005453c0
push 0x250
xorps xmm0, xmm0
lea eax, [ebp - 0x2538]
push 0
movups xmmword [ebp - 0x22e8], xmm0
push eax
mov dword [ebp - 0x22e8], 0xffffffff
call fcn.004201d0
add esp, 0xc
xor eax, eax
mov byte [ebp - 4], 0x37
mov dword [ebp - 0x2e24], eax
lea ecx, [edi + 0x14c0]
imul eax, dword [ebp - 0x2f6c]
push 0
cdq
idiv dword [ebp - 0x2f70]
add eax, dword [ebp - 0x2f74]
push eax
call fcn.00513c80
mov eax, dword [ebp - 0x2e24]
test eax, eax
jne 0x5548b7
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x687d20
push dword [edi + 0x1c]
lea ecx, [ebp - 0x1fb0]
push 0x687d7c
call fcn.00544fe0
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00513c80
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x20a8]
call fcn.00544f70
push eax
push 0x687dac
push dword [edi + 0x1c]
lea ecx, [ebp - 0x1fa0]
push 0x687db8
call fcn.00544fe0
push 0x687de0
lea ecx, [ebp - 0x1fc0]
call fcn.005452f0
push 1
push dword [edi + 0x1c]
lea ecx, [ebp - 0x2088]
call fcn.00545040
jmp 0x5549f6
mov eax, dword [ebp - 0x2e44]
test eax, eax
je 0x554896
push eax
call fcn.00418d40
add esp, 4
mov dword [ebp - 0x2e44], 0
lea ecx, [ebp - 0x216c]
call fcn.00545210
mov byte [ebp - 0x2f65], 2
jmp 0x557150
cmp eax, 1
jne 0x554920
push 0x687e10
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00513c80
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x20a8]
call fcn.00544f70
push eax
push 0x687e78
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
push 0x687ed8
lea ecx, [ebp - 0x1fc0]
call fcn.005452f0
push 0
lea ecx, [edi + 0x1298]
call fcn.004da540
jmp 0x5549ea
cmp eax, 2
jne 0x554986
push 0x687f08
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00513c80
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x20a8]
call fcn.00544f70
push eax
push 0x687f58
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
push 0x687fa4
lea ecx, [ebp - 0x1fc0]
call fcn.005452f0
push 0
lea ecx, [edi + 0x1298]
call fcn.004da1d0
jmp 0x5549ea
cmp eax, 3
jne 0x5549f6
push 0x687fd8
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00513c80
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x20a8]
call fcn.00544f70
push eax
push 0x688038
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
push 0x688090
lea ecx, [ebp - 0x1fc0]
call fcn.005452f0
push 0
lea ecx, [edi + 0x1298]
call fcn.004da130
push eax
lea ecx, [ebp - 0x2088]
call fcn.005452f0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x555340
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d198
lea ecx, [ebp - 0x2088]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x20e4]
call fcn.00544fe0
push 1
lea ecx, [ebp - 0x20e4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2538]
call fcn.00401820
test al, al
je 0x554c10
cmp byte [esi + 4], 0
jne 0x555340
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x250c]
push eax
push 0x61d048
lea ecx, [ebp - 0x2088]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544fe0
test byte [ebp - 0x2538], 0x10
lea ecx, [ebp - 0x1f94]
je 0x554af2
push 1
call fcn.00544f70
push eax
mov ecx, edi
call fcn.004630f0
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x555340
push 4
push 0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543ce0
push 0
push 0
push 0
push 0
push 0
push 0x6880c8
jmp 0x554ba8
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x554bfd
push 4
push 0
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
mov ecx, eax
call fcn.0052f960
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543ce0
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x554bfd
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2024]
call fcn.00544f70
push eax
push 0x64d798
lea eax, [ebp - 0x250c]
push eax
push 0x64d798
lea ecx, [ebp - 0x1fc0]
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x555340
lea ecx, [ebp - 0x2538]
call fcn.004017d0
test al, al
jne 0x554a63
mov eax, dword [ebp - 0x2e24]
test eax, eax
jne 0x554c4f
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x6880e8
push dword [edi + 0x1c]
lea ecx, [ebp - 0x1fa0]
push 0x688120
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
jmp 0x554c82
cmp eax, 1
jne 0x554c5d
push 0
push 0x688180
jmp 0x554c77
cmp eax, 2
jne 0x554c6b
push 0
push 0x688240
jmp 0x554c77
cmp eax, 3
jne 0x554c88
push 0
push 0x6882f0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2e24]
inc eax
lea ecx, [edi + 0x14c0]
mov dword [ebp - 0x2e24], eax
cmp eax, dword [ebp - 0x2f70]
jl 0x5547c6
mov eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
add eax, dword [ebp - 0x2f6c]
push 0
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00513c80
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x2134], 0
push 0
lea ecx, [edi + 0x1298]
movq qword [ebp - 0x213c], xmm0
call fcn.004d9f30
push eax
lea ecx, [ebp - 0x213c]
call fcn.00545350
push 1
mov byte [ebp - 4], 0x38
lea ecx, [edi + 0x1298]
xorps xmm0, xmm0
mov dword [ebp - 0x2128], 0
push 0
movq qword [ebp - 0x2130], xmm0
call fcn.004da310
push eax
lea ecx, [ebp - 0x2130]
call fcn.00545350
push 0
lea ecx, [edi + 0x1298]
mov byte [ebp - 4], 0x39
call fcn.004da270
inc eax
lea ecx, [ebp - 0x213c]
push eax
call fcn.00543b90
push 0
lea ecx, [edi + 0x1298]
call fcn.004da270
inc eax
lea ecx, [ebp - 0x2130]
push eax
call fcn.00543b90
cmp dword [ebp - 0x2f8c], 0
mov dword [ebp - 0x2f70], 0
jbe 0x5552ad
mov esi, dword [ebp - 0x2f88]
lea ecx, [edi + 0x14c0]
xor eax, eax
mov dword [ebp - 0x2f80], 0
mov dword [ebp - 0x2f84], eax
xor edx, edx
div dword [ebp - 0x2f8c]
push 0
add eax, dword [ebp - 0x2f74]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x55532a
xor eax, eax
mov dword [ebp - 0x2f64], eax
nop word [eax + eax]
mov esi, dword [ebp - 0x2f80]
mov ecx, dword [ebp - 0x2030]
push 0
push 0
push 0
lea ecx, [ecx + esi]
push 0
push 0
push 0
push 0
push 0
push 0
test eax, eax
jne 0x554ea1
push 0x6883a4
call fcn.00544f70
push eax
push 0x687d7c
lea ecx, [ebp - 0x1fb0]
call fcn.00544fe0
add esi, dword [ebp - 0x2090]
lea ecx, [ebp - 0x213c]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call fcn.00544f70
push eax
push 0x61d048
mov ecx, esi
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2088]
call fcn.00544fe0
mov esi, dword [ebp - 0x2030]
lea ecx, [ebp - 0x20a8]
add esi, dword [ebp - 0x2f80]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call fcn.00544f70
push eax
push 0x6883e0
mov ecx, esi
call fcn.00544f70
push eax
push 0x687db8
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x688418
jmp 0x554f54
push 0x688430
call fcn.00544f70
push eax
push 0x687d7c
lea ecx, [ebp - 0x1fb0]
call fcn.00544fe0
add esi, dword [ebp - 0x2090]
lea ecx, [ebp - 0x2130]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call fcn.00544f70
push eax
push 0x61d048
mov ecx, esi
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2088]
call fcn.00544fe0
mov esi, dword [ebp - 0x2030]
lea ecx, [ebp - 0x20a8]
add esi, dword [ebp - 0x2f80]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call fcn.00544f70
push eax
push 0x688478
mov ecx, esi
call fcn.00544f70
push eax
push 0x687db8
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6884bc
mov ecx, dword [ebp - 0x2f80]
add ecx, dword [ebp - 0x2030]
call fcn.00544f70
push eax
push 0x686380
lea ecx, [ebp - 0x1fc0]
call fcn.00544fe0
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00513c80
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
jne 0x55532a
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x55532a
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d198
lea ecx, [ebp - 0x2088]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x20e4]
call fcn.00544fe0
push 1
lea ecx, [ebp - 0x20e4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2538]
call fcn.00401820
test al, al
je 0x5551bd
nop dword [eax]
cmp byte [esi + 4], 0
jne 0x55532a
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x250c]
push eax
push 0x61d048
lea ecx, [ebp - 0x2088]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544fe0
test byte [ebp - 0x2538], 0x10
lea ecx, [ebp - 0x1f94]
je 0x55509f
push 1
call fcn.00544f70
push eax
mov ecx, edi
call fcn.004630f0
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x55532a
push 4
push 0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543ce0
push 0
push 0
push 0
push 0
push 0
push 0x6880c8
jmp 0x555155
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x5551aa
push 4
push 0
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
mov ecx, eax
call fcn.0052f960
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543ce0
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x5551aa
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2024]
call fcn.00544f70
push eax
push 0x64d798
lea eax, [ebp - 0x250c]
push eax
push 0x64d798
lea ecx, [ebp - 0x1fc0]
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x55532a
lea ecx, [ebp - 0x2538]
call fcn.004017d0
test al, al
jne 0x555010
cmp dword [ebp - 0x2f64], 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
jne 0x555226
mov ecx, dword [ebp - 0x2030]
mov esi, dword [ebp - 0x2f80]
push 0x6884e0
lea ecx, [ecx + esi]
call fcn.00544f70
push eax
push 0x688120
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov eax, dword [ebp - 0x2f64]
inc eax
mov dword [ebp - 0x2f64], eax
jmp 0x554dc6
mov ecx, dword [ebp - 0x2f80]
add ecx, dword [ebp - 0x2030]
push 0x688548
call fcn.00544f70
push eax
push 0x688120
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov eax, dword [ebp - 0x2f64]
inc eax
mov dword [ebp - 0x2f64], eax
cmp eax, 2
jb 0x554dc0
mov ecx, dword [ebp - 0x2f70]
mov eax, dword [ebp - 0x2f84]
inc ecx
add eax, dword [ebp - 0x2f6c]
add dword [ebp - 0x2f80], 0xc
cmp ecx, dword [ebp - 0x2f8c]
mov dword [ebp - 0x2f70], ecx
lea ecx, [edi + 0x14c0]
mov dword [ebp - 0x2f84], eax
jb 0x554d92
mov eax, dword [ebp - 0x2f90]
lea ecx, [edi + 0x14c0]
sub eax, dword [ebp - 0x2f6c]
mov esi, dword [ebp - 0x2f74]
add esi, eax
push 0
push esi
mov dword [ebp - 0x2f74], esi
call fcn.00513c80
lea ecx, [ebp - 0x2130]
call fcn.00545210
lea ecx, [ebp - 0x213c]
call fcn.00545210
mov eax, dword [ebp - 0x22e8]
cmp eax, 0xffffffff
je 0x5552fd
push eax
call dword [0x5fd4a4]
lea ecx, [ebp - 0x20e4]
call fcn.00545210
lea ecx, [ebp - 0x20a8]
call fcn.00545210
lea ecx, [ebp - 0x2088]
mov byte [ebp - 4], 0x1f
call fcn.00545210
mov eax, dword [ebp - 0x2f9c]
jmp 0x555385
lea ecx, [ebp - 0x2130]
call fcn.00545210
lea ecx, [ebp - 0x213c]
call fcn.00545210
mov eax, dword [ebp - 0x22e8]
cmp eax, 0xffffffff
je 0x555352
push eax
call dword [0x5fd4a4]
lea ecx, [ebp - 0x20e4]
call fcn.00545210
lea ecx, [ebp - 0x20a8]
call fcn.00545210
lea ecx, [ebp - 0x2088]
call fcn.00545210
mov byte [ebp - 0x2f65], 2
jmp 0x557150
mov esi, dword [ebp - 0x2f74]
test al, al
jns 0x555b1d
push 0x6885bc
push esi
lea ecx, [edi + 0x14c0]
call fcn.00513c80
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x6885f8
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
xorps xmm0, xmm0
lea ecx, [ebp - 0x2100]
movups xmmword [ebp - 0x2100], xmm0
movq qword [ebp - 0x20f0], xmm0
call fcn.00542180
mov eax, dword [ebp - 0x2f90]
mov esi, dword [ebp - 0x2f88]
cdq
sub eax, edx
mov byte [ebp - 4], 0x3a
mov edx, eax
sar edx, 1
xor eax, eax
mov dword [ebp - 0x2f6c], edx
mov dword [ebp - 0x2f78], eax
imul eax, edx
lea ecx, [edi + 0x14c0]
push 0
shr eax, 2
add eax, dword [ebp - 0x2f74]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x55569e
mov eax, dword [ebp - 0x2f78]
test eax, eax
jne 0x555483
lea eax, [ebp - 0x1fb0]
push eax
push 0x66a124
push 0x645628
lea ecx, [ebp - 0x1fa4]
call fcn.0053f410
push 8
lea ecx, [ebp - 0x1fb0]
call fcn.00542f40
push 0
push 0x61e380
jmp 0x5554d5
cmp eax, 1
jne 0x55548f
push 0x66a148
jmp 0x5554a0
cmp eax, 2
jne 0x55549b
push 0x66a178
jmp 0x5554a0
push 0x66a1a4
lea ecx, [ebp - 0x1f94]
call fcn.005452f0
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x66a1c8
lea ecx, [ebp - 0x1fa4]
call fcn.0053f410
push 0
push 0x621ae8
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2100]
call fcn.00541ed0
lea ecx, [ebp - 0x2100]
mov dword [ebp - 0x2f64], 0
call fcn.00542070
test eax, eax
je 0x5556da
mov ecx, dword [ebp - 0x2f64]
nop
push 3
push 1
push ecx
lea ecx, [ebp - 0x2100]
call fcn.00542080
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545040
mov ecx, eax
call fcn.00542f40
mov ecx, eax
call fcn.00544c70
test al, al
jne 0x5556bb
push 0x621d74
lea ecx, [ebp - 0x1f94]
call fcn.005452a0
test al, al
jne 0x5556bb
push 0
push 1
push 1
push 0
push str..dll
lea ecx, [ebp - 0x1f94]
call fcn.005438b0
lea ecx, [ebp - 0x1f94]
mov esi, eax
call fcn.00545180
sub eax, 3
cmp esi, eax
je 0x5555ac
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str..dll
lea ecx, [ebp - 0x1f94]
call fcn.005435c0
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.005373a0
test al, al
jne 0x5555e6
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b714
lea ecx, [ebp - 0x1f94]
call fcn.00543350
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x5556b5
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x64d798
push dword [ebp - 0x2f64]
lea ecx, [ebp - 0x2100]
call fcn.00542080
push eax
push 0x688690
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
je 0x5556bb
lea ecx, [ebp - 0x2100]
call fcn.005420e0
mov byte [ebp - 0x2f65], 2
jmp 0x557150
mov esi, dword [ebp - 0x2f88]
inc dword [ebp - 0x2f64]
lea ecx, [ebp - 0x2100]
call fcn.00542070
mov ecx, dword [ebp - 0x2f64]
cmp ecx, eax
jb 0x555510
mov eax, dword [ebp - 0x2f78]
mov edx, dword [ebp - 0x2f6c]
inc eax
mov dword [ebp - 0x2f78], eax
cmp eax, 4
jb 0x555423
push 0
push 0x6886c0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
add eax, dword [ebp - 0x2f6c]
push 0x688768
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00513c80
push 0
push 0x6887a0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x656690
push dword [edi + 0x24]
lea ecx, [ebp - 0x1fb0]
call fcn.00544fe0
xorps xmm0, xmm0
lea ecx, [ebp - 0x1fb0]
push 0
push 0
movups xmmword [ebp - 0x2250], xmm0
movups xmmword [ebp - 0x2240], xmm0
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2250]
call fcn.00533260
xorps xmm0, xmm0
mov dword [ebp - 0x2068], 0
movq qword [ebp - 0x2070], xmm0
mov dword [ebp - 0x2068], 0
mov dword [ebp - 0x2070], 0
mov dword [ebp - 0x206c], 0
push 8
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0x2e40]
push 0x688834
mov dword [ebp - 0x2e40], 0
call fcn.004019a0
push 0
lea eax, [ebp - 0x1fb0]
mov byte [ebp - 4], 0x3d
push eax
lea ecx, [ebp - 0x2250]
call fcn.00532a50
test eax, eax
je 0x555a9b
push 0
push 0x621864
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2100]
call fcn.00541ed0
mov ecx, eax
call fcn.00542070
test eax, eax
je 0x555a9b
lea ecx, [ebp - 0x2100]
mov dword [ebp - 0x2f64], 0
call fcn.00542070
test eax, eax
je 0x555a9b
mov dword [ebp - 0x2e24], 0
nop word [eax + eax]
mov eax, dword [ebp - 0x2f90]
lea ecx, [ebp - 0x2100]
push 0
mov dword [ebp - 0x2f78], eax
call fcn.00542070
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
add eax, dword [ebp - 0x2f74]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x5561a3
push dword [ebp - 0x2f64]
lea ecx, [ebp - 0x2100]
call fcn.00542080
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
push 3
lea ecx, [ebp - 0x1fb0]
call fcn.00542f40
lea ecx, [ebp - 0x1fb0]
call fcn.00544c70
test al, al
jne 0x555a72
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.00545220
cmp word [eax], 0x23
je 0x555a72
push 0
push 8
lea eax, [ebp - 0x2070]
push eax
push dword [ebp - 0x2e40]
lea ecx, [ebp - 0x1fb0]
call fcn.00542510
lea ecx, [ebp - 0x1f94]
call fcn.005451e0
mov eax, dword [ebp - 0x2070]
cmp eax, 3
jae 0x55593c
push 0x688850
lea ecx, [ebp - 0x1fcc]
call fcn.005452f0
jmp 0x555a09
cmp eax, 1
mov ecx, 2
cmovbe eax, ecx
mov ecx, edi
mov dword [ebp - 0x2070], eax
mov eax, dword [ebp - 0x2068]
add eax, 0xc
push eax
call fcn.0043b2e0
cmp al, 1
jne 0x55599b
mov eax, dword [ebp - 0x2070]
mov ecx, 3
cmp eax, 2
push 0x67c0a4
cmovbe eax, ecx
mov ecx, dword [ebp - 0x2068]
mov dword [ebp - 0x2070], eax
lea ecx, [ecx + 0x18]
call fcn.005452a0
test al, al
jne 0x555a72
push 0x67c010
jmp 0x5559c6
test al, al
jne 0x5559b1
push 0x67bfd4
lea ecx, [ebp - 0x1fcc]
call fcn.005452f0
jmp 0x5559dd
mov ecx, dword [ebp - 0x2f78]
mov dword [ebp - 0x2f90], ecx
cmp al, 2
jne 0x5559dd
push 0x67c058
lea ecx, [ebp - 0x1fcc]
call fcn.005452f0
mov eax, dword [ebp - 0x2f78]
mov dword [ebp - 0x2f90], eax
mov eax, dword [ebp - 0x2070]
mov ecx, 3
cmp eax, 2
cmovbe eax, ecx
lea ecx, [ebp - 0x1f94]
mov dword [ebp - 0x2070], eax
mov eax, dword [ebp - 0x2068]
add eax, 0x18
push eax
call fcn.005452c0
push 0
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
push 0x64d798
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x64d798
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x688890
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x5561a3
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x2100]
inc dword [ebp - 0x2f64]
add dword [ebp - 0x2e24], eax
call fcn.00542070
cmp dword [ebp - 0x2f64], eax
jb 0x555860
mov ecx, dword [ebp - 0x2f90]
sub ecx, dword [ebp - 0x2f6c]
mov eax, dword [ebp - 0x2f74]
add eax, ecx
lea ecx, [edi + 0x14c0]
push 0
push eax
call fcn.00513c80
push 0
push 0x6888c0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x2e40]
test eax, eax
je 0x555ae2
push eax
call fcn.00418d40
add esp, 4
mov ecx, dword [ebp - 0x2068]
mov dword [ebp - 0x2e40], 0
test ecx, ecx
je 0x555afd
push 3
call fcn.00401e60
lea ecx, [ebp - 0x2250]
call fcn.00401e00
lea ecx, [ebp - 0x2100]
mov byte [ebp - 4], 0x1f
call fcn.005420e0
mov eax, dword [ebp - 0x2f9c]
test eax, 0x100
je 0x555e85
push 1
mov dword [ebp - 0x2ec8], edi
lea ecx, [ebp - 0x2ec4]
push dword [edi + 0x1c]
call fcn.00545350
push 0x2c
lea eax, [ebp - 0x2eac]
mov byte [ebp - 0x2eb8], 0
push 0
push eax
mov dword [ebp - 0x2eb4], 0
mov dword [ebp - 0x2eb0], 0
call fcn.004201d0
xorps xmm0, xmm0
mov dword [ebp - 0x2e80], 0
add esp, 0xc
movq qword [ebp - 0x2e78], xmm0
mov dword [ebp - 0x2e70], 0xffffffff
push 0x680d14
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x2e64]
movlpd qword [ebp - 0x2e64], xmm0
push str.ntdll.dll
mov dword [ebp - 0x2e64], 0
mov dword [ebp - 0x2e60], 0
call fcn.00404380
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x2e64]
test eax, eax
je 0x555e76
cmp dword [ebp - 0x2e60], 0
je 0x555e6b
mov eax, dword [ebp - 0x2f7c]
mov ecx, eax
and ecx, 8
or ecx, 2
mov dword [ebp - 0x2eb4], ecx
test al, 2
jne 0x555c00
or ecx, 0x10
mov dword [ebp - 0x2eb4], ecx
test al, 0x10
je 0x555c0d
or ecx, 4
mov dword [ebp - 0x2eb4], ecx
push 8
push 0x680d30
lea ecx, [ebp - 0x1fb0]
call fcn.005427d0
mov ecx, dword [ebp - 0x2eb0]
mov esi, eax
test ecx, ecx
je 0x555c34
push ecx
call fcn.00418d40
add esp, 4
lea eax, [ebp - 0x2018]
mov dword [ebp - 0x2eb0], esi
xorps xmm0, xmm0
mov dword [ebp - 0x2ea8], eax
mov eax, dword [ebp - 0x2e60]
lea ecx, [ebp - 0x2e80]
push 0x800
mov dword [ebp - 0x2eac], 0
mov byte [ebp - 0x2ea4], 0
movlpd qword [ebp - 0x2ea0], xmm0
movlpd qword [ebp - 0x2e98], xmm0
movlpd qword [ebp - 0x2e90], xmm0
mov dword [ebp - 0x2e88], eax
mov dword [ebp - 0x2e84], 0x800
call fcn.00403f80
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea eax, [ebp - 0x2278]
push dword [ebp - 0x2f98]
lea ecx, [ebp - 0x1fa0]
mov dword [ebp - 0x2e74], eax
push 0x688970
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 0x680ea0
push 0xffffffffffffffb0
lea ecx, [edi + 0x14c0]
call fcn.00513c80
push 0
push 0
lea eax, [ebp - 0x2ec8]
mov dword [ebp - 0x2e58], 0
push eax
push 0x468c40
push 0
push 0
call dword [0x5fd394]
mov dword [ebp - 0x2e58], eax
test eax, eax
jne 0x555d30
or eax, 0xffffffff
mov dword [ebp - 0x2e58], eax
xor edx, edx
mov byte [ebp - 4], 0x40
mov ecx, eax
call fcn.00529cd0
test al, al
je 0x555d83
mov esi, dword [ebp - 0x2f88]
mov edi, 1
nop dword [eax]
cmp byte [esi + 4], 0
movzx eax, byte [ebp - 0x2eb8]
cmovne eax, edi
push 0xa
mov byte [ebp - 0x2eb8], al
call dword [0x5fd458]
mov ecx, dword [ebp - 0x2e58]
xor edx, edx
call fcn.00529cd0
test al, al
jne 0x555d50
mov edi, dword [ebp - 0x2fa0]
cmp byte [ebp - 0x2eb8], 0
mov ecx, 0x688a60
mov eax, 0x688a28
cmove eax, ecx
lea ecx, [ebp - 0x1fb0]
push eax
call fcn.005452f0
push fcn.00545210
push fcn.005453c0
push 2
push 0xc
lea eax, [ebp - 0x48]
push eax
call fcn.0041eab1
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x48]
push dword [ebp - 0x2e9c]
push dword [ebp - 0x2ea0]
call fcn.00544340
push dword [ebp - 0x2e94]
lea ecx, [ebp - 0x3c]
push dword [ebp - 0x2e98]
call fcn.00544340
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x688ab0
lea ecx, [ebp - 0x3c]
call fcn.00544f70
push eax
push 0x688b08
lea ecx, [ebp - 0x48]
call fcn.00544f70
push eax
push 0x621864
lea ecx, [ebp - 0x1fb0]
call fcn.005435c0
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 0
push 0x688b40
lea ecx, [ebp - 0x2018]
call fcn.005322d0
push fcn.00545210
push 2
push 0xc
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x40
push eax
call fcn.0041e708
lea ecx, [ebp - 0x2e58]
call fcn.004015f0
mov eax, dword [ebp - 0x2e64]
test eax, eax
je 0x555e76
push eax
call dword [0x5fd2f8]
lea ecx, [ebp - 0x2ec8]
mov byte [ebp - 4], 0x1f
call fcn.00404260
mov eax, dword [ebp - 0x2f9c]
test eax, 0x200
je 0x55621e
lea ecx, [ebp - 0x2f50]
call fcn.004042b0
mov eax, dword [ebp - 0x2f7c]
lea ecx, [edi + 0x14c0]
push 0x688be8
mov byte [ebp - 4], 0x42
push 0xffffffffffffffb0
mov dword [ebp - 0x2f50], eax
call fcn.00513c80
mov esi, dword [ebp - 0x2f88]
mov ecx, edi
lea eax, [esi + 4]
push eax
push dword [edi + 0x1c]
call fcn.0054d790
mov dword [ebp - 0x2f48], eax
mov dword [ebp - 0x2f44], edx
cmp eax, 0xffffffff
jne 0x555ef0
cmp edx, eax
je 0x55618c
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x688c48
push 0x688ccc
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
mov eax, dword [ebp - 0x2fd4]
xorps xmm0, xmm0
mov dword [ebp - 0x2f20], eax
lea eax, [ebp - 0x2230]
push eax
movlpd qword [ebp - 0x2f40], xmm0
movlpd qword [ebp - 0x2f38], xmm0
movlpd qword [ebp - 0x2f30], xmm0
movlpd qword [ebp - 0x2f28], xmm0
call dword [0x5fd2dc]
lea ecx, [ebp - 0x2230]
call fcn.00533330
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [ebp - 0x2f1c], eax
lea ecx, [edi + 0x14c]
push 0
lea eax, [ebp - 0x22d8]
mov dword [ebp - 0x2104], 0
mov dword [ebp - 0x2f18], eax
xorps xmm0, xmm0
push 0
lea eax, [ebp - 0x2018]
movq qword [ebp - 0x210c], xmm0
push 0x688d0c
mov dword [ebp - 0x2f14], eax
call fcn.00544f70
push eax
lea ecx, [ebp - 0x210c]
call fcn.00545300
xorps xmm0, xmm0
mov byte [ebp - 4], 0x43
push 0
push 0x22
lea ecx, [ebp - 0x210c]
movups xmmword [ebp - 0x21d8], xmm0
movups xmmword [ebp - 0x21c8], xmm0
call fcn.00544f70
push eax
lea ecx, [ebp - 0x21d8]
call fcn.00533260
push dword [ebp - 0x2fa4]
lea eax, [ebp - 0x21d8]
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x2f0c]
mov dword [ebp - 0x2f10], eax
call fcn.00404200
push 0x688d40
push 0
lea ecx, [edi + 0x14c0]
call fcn.00513c80
lea eax, [esi + 4]
push eax
mov eax, dword [ebp - 0x2f7c]
shr eax, 5
not al
mov ecx, edi
and al, 1
movzx eax, al
push eax
lea eax, [ebp - 0x2f50]
push eax
push dword [edi + 0x1c]
call fcn.0054dae0
push 0
push 0x688d90
lea ecx, [ebp - 0x2018]
mov byte [ebp - 0x2f65], al
call fcn.005322d0
push 0
lea ecx, [ebp - 0x21d8]
call fcn.00532190
push 0
push 0x20
lea ecx, [ebp - 0x210c]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x21d8]
call fcn.00532c10
test eax, eax
je 0x556143
push 0
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x21d8]
call fcn.00532a50
cmp eax, 2
jbe 0x556143
cmp dword [ebp - 0x2f48], 0xffffffff
jne 0x5560e4
cmp dword [ebp - 0x2f44], 0xffffffff
je 0x556176
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x688e40
push 0x688eb0
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 0
push 0x688f00
lea ecx, [ebp - 0x2018]
call fcn.005322d0
push 0
lea ecx, [ebp - 0x21d8]
call fcn.00532190
push 2
lea ecx, [ebp - 0x210c]
call fcn.00544f70
push eax
lea ecx, [edi + 0x1298]
call fcn.004d52c0
cmp byte [ebp - 0x2f65], 0
jne 0x5561f3
lea ecx, [ebp - 0x21d8]
call fcn.00401e00
lea ecx, [ebp - 0x210c]
call fcn.00545210
lea ecx, [ebp - 0x2f50]
call fcn.004042f0
mov byte [ebp - 0x2f65], 2
jmp 0x557150
mov eax, dword [ebp - 0x2e40]
test eax, eax
je 0x5561b6
push eax
call fcn.00418d40
add esp, 4
mov ecx, dword [ebp - 0x2068]
mov dword [ebp - 0x2e40], 0
test ecx, ecx
je 0x5561d1
push 3
call fcn.00401e60
lea ecx, [ebp - 0x2250]
call fcn.00401e00
lea ecx, [ebp - 0x2100]
call fcn.005420e0
mov byte [ebp - 0x2f65], 2
jmp 0x557150
lea ecx, [ebp - 0x21d8]
call fcn.00401e00
lea ecx, [ebp - 0x210c]
call fcn.00545210
lea ecx, [ebp - 0x2f50]
mov byte [ebp - 4], 0x1f
call fcn.004042f0
mov eax, dword [ebp - 0x2f9c]
test eax, 0x400
je 0x557149
mov ecx, dword [ebp - 0x2fcc]
call fcn.00541aa0
cmp eax, 9
jle 0x557149
xorps xmm0, xmm0
mov dword [ebp - 0x20ac], 0
lea ecx, [ebp - 0x20b4]
movq qword [ebp - 0x20b4], xmm0
call fcn.005453c0
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x209c]
xorps xmm0, xmm0
mov dword [ebp - 0x2094], 0
movq qword [ebp - 0x209c], xmm0
call fcn.005453c0
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x20d8]
xorps xmm0, xmm0
mov dword [ebp - 0x20d0], 0
movq qword [ebp - 0x20d8], xmm0
call fcn.005453c0
lea ecx, [ebp - 0x1fc0]
mov byte [ebp - 4], 0x47
call fcn.005451e0
push 0
push 0x621864
push dword [ebp - 0x2fcc]
xorps xmm0, xmm0
lea ecx, [ebp - 0x20cc]
movups xmmword [ebp - 0x20cc], xmm0
movq qword [ebp - 0x20bc], xmm0
call fcn.00542100
lea ecx, [ebp - 0x20cc]
mov byte [ebp - 4], 0x48
call fcn.00542070
cmp eax, 1
jbe 0x55711d
lea ecx, [ebp - 0x20cc]
call fcn.00542070
test eax, eax
je 0x55711d
xor esi, esi
xor edi, edi
nop dword [eax]
push esi
lea ecx, [ebp - 0x20cc]
call fcn.00542080
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
lea ecx, [ebp - 0x1fb0]
call fcn.00545180
test eax, eax
je 0x5563ac
push 3
lea ecx, [ebp - 0x1fb0]
call fcn.00542f40
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.00545220
cmp word [eax], 0x3c
jne 0x55638d
lea ecx, [ebp - 0x1fb0]
call fcn.00545180
dec eax
lea ecx, [ebp - 0x1fb0]
push eax
call fcn.00545220
cmp word [eax], 0x3e
jne 0x55638d
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x1fc0]
call fcn.005452c0
jmp 0x5563ac
lea ecx, [ebp - 0x1fc0]
call fcn.00545180
test eax, eax
je 0x5563ac
lea ecx, [ebp - 0x1fb0]
call fcn.00545180
test eax, eax
je 0x5563ac
inc edi
lea ecx, [ebp - 0x20cc]
inc esi
call fcn.00542070
cmp esi, eax
jb 0x556310
mov esi, dword [ebp - 0x2f88]
test edi, edi
mov edi, dword [ebp - 0x2fa0]
je 0x55711d
push 0x688fb0
push 0
lea ecx, [edi + 0x14c0]
call fcn.00513c80
lea ecx, [ebp - 0x20cc]
mov dword [ebp - 0x2f6c], 0
call fcn.00542070
test eax, eax
je 0x55710b
mov dword [ebp - 0x2e24], 0
nop dword [eax]
lea eax, [ebp - 0x1fc0]
push eax
lea ecx, [ebp - 0x20b4]
call fcn.005452c0
push dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x20cc]
call fcn.00542080
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
push 3
lea ecx, [ebp - 0x1fb0]
call fcn.00542f40
lea ecx, [ebp - 0x1fb0]
call fcn.00545180
test eax, eax
je 0x5564c9
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.00545220
cmp word [eax], 0x3c
jne 0x5564c9
lea ecx, [ebp - 0x1fb0]
call fcn.00545180
dec eax
lea ecx, [ebp - 0x1fb0]
push eax
call fcn.00545220
cmp word [eax], 0x3e
jne 0x5564c9
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x1fc0]
call fcn.005452c0
push 0
push 1
push 1
push 0
lea ecx, [ebp - 0x1fc0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.005438b0
mov dword [ebp - 0x2f64], eax
jmp 0x5564d3
mov dword [ebp - 0x2f64], 0
push 0x689008
lea ecx, [ebp - 0x1fc0]
call fcn.00545260
test al, al
je 0x5564f4
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.005449e0
push 0x689008
lea ecx, [ebp - 0x1fc0]
call fcn.005452a0
test al, al
je 0x556851
cmp dword [ebp - 0x2f64], 0
je 0x55652c
push 0
push 0x689020
lea ecx, [ebp - 0x2018]
call fcn.005322d0
jmp 0x556ef9
lea ecx, [ebp - 0x1fb0]
call fcn.00545180
cmp eax, 3
jle 0x556ef9
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005452c0
push 1
lea ecx, [ebp - 0x1f94]
call fcn.00544d00
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x689048
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x68906c
lea ecx, [ebp - 0x1f94]
call fcn.00544fe0
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x20cc]
call fcn.00542070
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x557210
push 0
push 0
push 0
push 0
push 0
push 0
push 0x68908c
lea ecx, [edi + 0x14c]
call fcn.00544f70
push eax
push 0x622a40
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x6890a8
push dword [edi + 0x24]
lea ecx, [ebp - 0x1f94]
call fcn.00544fe0
push 0
push 0
mov dword [ebp - 0x2e3c], 0
lea ecx, [ebp - 0x1f94]
push dword [edi + 0x24]
call fcn.00544f70
mov edx, eax
xor ecx, ecx
call fcn.005315c0
mov dword [ebp - 0x2e3c], eax
mov ecx, eax
test eax, eax
jne 0x556648
or eax, 0xffffffff
mov dword [ebp - 0x2e3c], eax
or ecx, eax
mov byte [ebp - 4], 0x49
cmp ecx, 0xffffffff
je 0x5567f8
test ecx, ecx
je 0x5567f8
xor edx, edx
mov ecx, eax
call fcn.00529cd0
test al, al
je 0x556693
nop word [eax + eax]
cmp byte [esi + 4], 0
jne 0x5571e6
push 5
call dword [0x5fd458]
mov ecx, dword [ebp - 0x2e3c]
xor edx, edx
call fcn.00529cd0
test al, al
jne 0x556670
lea eax, [ebp - 0x20e8]
mov dword [ebp - 0x20e8], 0
push eax
push dword [ebp - 0x2e3c]
call dword [0x5fd3fc]
cmp dword [ebp - 0x20e8], 0
jne 0x5567f8
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6890cc
lea ecx, [edi + 0x14c]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544fe0
xorps xmm0, xmm0
lea ecx, [ebp - 0x1f94]
push 0
push 0x20
movups xmmword [ebp - 0x2270], xmm0
movups xmmword [ebp - 0x2260], xmm0
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2270]
call fcn.00533260
push 0
lea eax, [ebp - 0x1f94]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [ebp - 0x2270]
call fcn.00532a50
push 0
lea ecx, [ebp - 0x2270]
call fcn.00532190
push 2
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
lea ecx, [edi + 0x1298]
call fcn.004d52c0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x687dac
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x6890e0
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 8
push 0
push 0x61d050
push 0x689120
lea ecx, [ebp - 0x1f94]
call fcn.005424c0
lea eax, [ebp - 0x1f94]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
push 0
push 0x621864
lea ecx, [ebp - 0x2018]
call fcn.005322d0
lea ecx, [ebp - 0x2270]
call fcn.00401e00
lea ecx, [ebp - 0x2e3c]
mov byte [ebp - 4], 0x48
call fcn.004015f0
jmp 0x556ef9
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x689148
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x689198
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
lea ecx, [ebp - 0x2e3c]
mov byte [ebp - 4], 0x48
call fcn.004015f0
jmp 0x556ef9
push 0x6891a8
lea ecx, [ebp - 0x1fc0]
call fcn.005452a0
test al, al
je 0x556c13
cmp dword [ebp - 0x2f64], 0
je 0x5568ba
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x6891b8
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
jmp 0x556ef9
lea ecx, [ebp - 0x1fb0]
call fcn.00545180
cmp eax, 1
jle 0x556ef9
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x655b6c
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x689244
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea ecx, [ebp - 0x1fa0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x20cc]
call fcn.00542070
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x557210
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x689274
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x68927c
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
lea eax, [ebp - 0x1fb0]
mov dword [ebp - 0x2140], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0x2148]
push eax
movq qword [ebp - 0x2148], xmm0
call fcn.00545390
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d198
push 0x5c
lea ecx, [ebp - 0x2148]
mov byte [ebp - 4], 0x4b
call fcn.00542ef0
mov ecx, eax
call fcn.00542e90
mov ecx, eax
call fcn.005435c0
push 0x250
xorps xmm0, xmm0
lea eax, [ebp - 0x29f8]
push 0
movups xmmword [ebp - 0x27a8], xmm0
push eax
mov dword [ebp - 0x27a8], 0xffffffff
call fcn.004201d0
add esp, 0xc
push 1
lea ecx, [ebp - 0x2148]
mov byte [ebp - 4], 0x4c
call fcn.00544f70
push eax
lea ecx, [ebp - 0x29f8]
call fcn.00401820
test al, al
je 0x556bdb
nop
cmp byte [esi + 4], 0
jne 0x5571f3
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x29cc]
push eax
push 0x61d048
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544fe0
test byte [ebp - 0x29f8], 0x10
lea ecx, [ebp - 0x1f94]
je 0x556ac3
push 1
call fcn.00544f70
push eax
mov ecx, edi
call fcn.004630f0
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x5571f3
push 4
push 0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543ce0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6880c8
jmp 0x556b7d
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x556bc6
push 4
push 0
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
mov ecx, eax
call fcn.0052f960
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543ce0
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
test al, al
je 0x556bc6
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2024]
call fcn.00544f70
push eax
push 0x64d798
lea ecx, [ebp - 0x1f94]
call fcn.00544f70
push eax
push 0x6892a8
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
cmp byte [esi + 4], 0
jne 0x5571f3
lea ecx, [ebp - 0x29f8]
call fcn.004017d0
test al, al
jne 0x556a30
jmp 0x556bed
push 0
push 0x6892d0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
mov eax, dword [ebp - 0x27a8]
cmp eax, 0xffffffff
je 0x556bff
push eax
call dword [0x5fd4a4]
lea ecx, [ebp - 0x2148]
mov byte [ebp - 4], 0x48
call fcn.00545210
jmp 0x556ef9
push 0x689330
lea ecx, [ebp - 0x1fc0]
call fcn.005452a0
test al, al
je 0x556dc6
cmp dword [ebp - 0x2f64], 0
je 0x556c7c
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x689340
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
jmp 0x556ef9
lea ecx, [ebp - 0x1fb0]
call fcn.00545180
cmp eax, 3
jle 0x556ef9
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x62e428
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x6893c0
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea ecx, [ebp - 0x1fa0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x20cc]
call fcn.00542070
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x557210
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
mov eax, dword [ebp - 0x2f7c]
lea ecx, [ebp - 0x1fb0]
and eax, 0x18
push eax
call fcn.00544f70
push eax
mov ecx, edi
call fcn.0054ec00
push 4
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
mov ecx, eax
call fcn.0052f960
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543ce0
push 0
push 0
push 0
push 0
push 0x621864
lea ecx, [ebp - 0x1fe4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x2024]
call fcn.00544f70
push eax
push 0x64d798
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
push 0x6892a8
lea ecx, [ebp - 0x1fa0]
call fcn.00544fe0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
jmp 0x556ef9
push 0x6893d8
lea ecx, [ebp - 0x1fc0]
call fcn.005452a0
test al, al
je 0x556ef9
cmp dword [ebp - 0x2f64], 0
je 0x556e8a
push 1
push 0x6893f0
lea ecx, [ebp - 0x1fa0]
call fcn.00545040
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
lea ecx, [ebp - 0x1fc0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x20b4]
call fcn.00545260
test al, al
je 0x556ef9
push 1
push 0x626ba0
lea ecx, [ebp - 0x1fa0]
call fcn.00545040
lea ecx, [ebp - 0x1fa0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x20cc]
call fcn.00542070
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
lea ecx, [ebp - 0x209c]
call fcn.005451e0
lea ecx, [ebp - 0x20d8]
call fcn.005451e0
jmp 0x556ef9
lea ecx, [ebp - 0x1fb0]
call fcn.00545180
cmp eax, 3
jle 0x556ef9
push 0
lea ecx, [ebp - 0x20cc]
call fcn.00542070
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513c80
cmp byte [esi + 4], 0
jne 0x557210
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621ae8
lea ecx, [ebp - 0x1fb0]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x209c]
call fcn.005435c0
lea ecx, [ebp - 0x209c]
call fcn.00545180
cmp eax, 4
jle 0x5570e7
push 0x6893d8
lea ecx, [ebp - 0x20b4]
call fcn.005452a0
test al, al
je 0x5570e7
lea ecx, [ebp - 0x20b4]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x1fc0]
call fcn.00545260
test al, al
jne 0x556f58
lea ecx, [ebp - 0x20cc]
call fcn.00542070
dec eax
cmp dword [ebp - 0x2f6c], eax
jne 0x5570e7
mov ecx, edi
call fcn.0045dc60
or eax, 8
lea ecx, [ebp - 0x20d8]
push eax
push 0
push 0
push 0xffff
call fcn.00544760
push eax
lea ecx, [ebp - 0x209c]
call fcn.00544f70
mov edx, 0x664af8
mov ecx, eax
call fcn.005072c0
xorps xmm0, xmm0
lea ecx, [ebp - 0x21f0]
movups xmmword [ebp - 0x21f0], xmm0
movq qword [ebp - 0x21e0], xmm0
call fcn.00542180
xorps xmm0, xmm0
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x21b8]
movq qword [ebp - 0x21a8], xmm0
movups xmmword [ebp - 0x21b8], xmm0
call fcn.00542180
push 0
push 0x621ae8
lea ecx, [ebp - 0x209c]
mov byte [ebp - 4], 0x4e
call fcn.00544f70
push eax
lea ecx, [ebp - 0x21f0]
call fcn.00541ed0
push 0
push 0x621ae8
lea ecx, [ebp - 0x20d8]
call fcn.00544f70
push eax
lea ecx, [ebp - 0x21b8]
call fcn.00541ed0
lea ecx, [ebp - 0x21f0]
call fcn.00542070
lea ecx, [ebp - 0x21b8]
mov dword [ebp - 0x2f64], eax
call fcn.00542070
cmp eax, dword [ebp - 0x2f64]
jae 0x557044
lea ecx, [ebp - 0x21b8]
call fcn.00542070
mov dword [ebp - 0x2f64], eax
jmp 0x55704a
mov eax, dword [ebp - 0x2f64]
mov dword [ebp - 0x2fa4], 0
test eax, eax
je 0x5570cd
mov esi, dword [ebp - 0x2fa4]
mov edi, dword [ebp - 0x2f64]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621864
push esi
lea ecx, [ebp - 0x21b8]
call fcn.00542080
push eax
push 0x64d798
push esi
lea ecx, [ebp - 0x21f0]
call fcn.00542080
push eax
push 0x68948c
lea ecx, [ebp - 0x1f94]
call fcn.00544fe0
lea eax, [ebp - 0x1f94]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324f0
inc esi
cmp esi, edi
jb 0x557068
mov edi, dword [ebp - 0x2fa0]
mov esi, dword [ebp - 0x2f88]
lea ecx, [ebp - 0x21b8]
call fcn.005420e0
lea ecx, [ebp - 0x21f0]
mov byte [ebp - 4], 0x48
call fcn.005420e0
inc dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x20cc]
add dword [ebp - 0x2e24], 0x64
call fcn.00542070
cmp dword [ebp - 0x2f6c], eax
jb 0x556410
push 0
push 0x6894b0
lea ecx, [ebp - 0x2018]
call fcn.005322d0
lea ecx, [ebp - 0x20cc]
call fcn.005420e0
lea ecx, [ebp - 0x20d8]
call fcn.00545210
lea ecx, [ebp - 0x209c]
call fcn.00545210
lea ecx, [ebp - 0x20b4]
call fcn.00545210
mov byte [ebp - 0x2f65], 1
mov eax, dword [ebp - 0x2e38]
test eax, eax
je 0x557163
push eax
call fcn.00418d40
add esp, 4
lea ecx, [ebp - 0x2160]
mov dword [ebp - 0x2e38], 0
call fcn.00545210
lea ecx, [ebp - 0x2040]
call fcn.00545210
lea ecx, [ebp - 0x207c]
call fcn.00545210
lea ecx, [ebp - 0x2e30]
call fcn.0053f8f0
mov ecx, dword [ebp - 0x1ff8]
test ecx, ecx
je 0x5571aa
push 3
call fcn.00401e60
mov ecx, dword [ebp - 0x2090]
test ecx, ecx
je 0x5571bb
push 3
call fcn.00401e60
mov ecx, dword [ebp - 0x2054]
test ecx, ecx
je 0x5571cc
push 3
call fcn.00401e60
mov ecx, dword [ebp - 0x2030]
test ecx, ecx
je 0x5508c3
push 3
call fcn.00401e60
jmp 0x5508c3
lea ecx, [ebp - 0x2e3c]
call fcn.004015f0
jmp 0x557210
mov eax, dword [ebp - 0x27a8]
cmp eax, 0xffffffff
je 0x557205
push eax
call dword [0x5fd4a4]
lea ecx, [ebp - 0x2148]
call fcn.00545210
lea ecx, [ebp - 0x20cc]
call fcn.005420e0
lea ecx, [ebp - 0x20d8]
call fcn.00545210
lea ecx, [ebp - 0x209c]
call fcn.00545210
lea ecx, [ebp - 0x20b4]
call fcn.00545210
mov byte [ebp - 0x2f65], 2
jmp 0x557150