Function at 0x54ef90
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 0x5f67ef
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x3028
call fcn.0041ed80
mov eax, dword [0x705200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x2fa0], edi
mov esi, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x2f88], esi
call fcn.0053c920
test eax, eax
je 0x54effa
push eax
call fcn.0041e483
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.005454c0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1fa0]
xorps xmm0, xmm0
mov dword [ebp - 0x1f98], 0
movq qword [ebp - 0x1fa0], xmm0
call fcn.00545530
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1fb0]
xorps xmm0, xmm0
mov dword [ebp - 0x1fa8], 0
movq qword [ebp - 0x1fb0], xmm0
call fcn.00545530
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1f94]
xorps xmm0, xmm0
mov dword [ebp - 0x1f8c], 0
movq qword [ebp - 0x1f94], xmm0
call fcn.00545530
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2024]
xorps xmm0, xmm0
mov dword [ebp - 0x201c], 0
movq qword [ebp - 0x2024], xmm0
call fcn.00545530
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1ff0]
xorps xmm0, xmm0
mov dword [ebp - 0x1fe8], 0
movq qword [ebp - 0x1ff0], xmm0
call fcn.00545530
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1fc0]
xorps xmm0, xmm0
mov dword [ebp - 0x1fb8], 0
movq qword [ebp - 0x1fc0], xmm0
call fcn.00545530
lea ecx, [ebp - 0x2154]
mov byte [ebp - 4], 6
call fcn.005452f0
mov ecx, eax
cmp ecx, 7
jl 0x54f160
mov eax, dword [ebp - 0x2f70]
add eax, 0xfffffff8
push 0
lea edx, [eax + ecx*2]
mov ecx, 0x65f374
call fcn.00541ab0
test eax, eax
je 0x54f186
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f374
lea ecx, [ebp - 0x2154]
call fcn.00543750
xorps xmm0, xmm0
lea ecx, [ebp - 0x2154]
push 0
push 0x2a
movups xmmword [ebp - 0x2018], xmm0
movups xmmword [ebp - 0x2008], xmm0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2018]
call fcn.00533440
lea ecx, [ebp - 0x2018]
mov byte [ebp - 4], 7
call fcn.00533340
test eax, eax
jne 0x54f1d0
mov byte [ebp - 0x2f65], al
jmp 0x550a86
push 0x685610
push 0
lea ecx, [edi + 0x14c0]
call fcn.00513e70
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x685648
lea ecx, [edi + 0x140c]
call fcn.005450e0
push eax
push 0x68568c
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
mov ecx, edi
call fcn.00449270
test al, al
je 0x54f3d7
push 0
push 0x6856c0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
xorps xmm0, xmm0
mov dword [ebp - 0x2174], 0
lea ecx, [ebp - 0x217c]
movq qword [ebp - 0x217c], xmm0
call fcn.00545530
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2118]
xorps xmm0, xmm0
mov dword [ebp - 0x2110], 0
movq qword [ebp - 0x2118], xmm0
call fcn.00545530
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2124]
xorps xmm0, xmm0
mov dword [ebp - 0x211c], 0
movq qword [ebp - 0x2124], xmm0
call fcn.00545530
push 0
push 0
push 0x9470
lea ecx, [ebp - 0x217c]
mov byte [ebp - 4], 0xa
call fcn.005448f0
lea ecx, [edi + 0x188]
mov dword [ebp - 0x2e5c], eax
call fcn.005450e0
push eax
push 0x9470
push dword [ebp - 0x2e5c]
push 0x678df0
call dword [0x5fd4ac]
mov ecx, dword [ebp - 0x2e5c]
lea eax, [ebp - 0x2124]
push eax
lea edx, [ebp - 0x2118]
call fcn.00527f30
test al, al
je 0x54f3a0
push 0x678e98
lea ecx, [ebp - 0x2118]
call fcn.00545410
test al, al
je 0x54f331
mov dl, 1
lea ecx, [ebp - 0x2124]
call fcn.00538780
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x2124]
call fcn.005450e0
push eax
push 0x672194
lea ecx, [ebp - 0x2118]
call fcn.005450e0
push eax
push 0x6856ec
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
lea eax, [ebp - 0x2124]
push eax
lea edx, [ebp - 0x2118]
lea ecx, [ebp - 0x2e5c]
call fcn.00527fa0
test al, al
jne 0x54f310
push 0
push 0x621884
lea ecx, [ebp - 0x2018]
call fcn.005324b0
lea ecx, [ebp - 0x2124]
call fcn.00545380
lea ecx, [ebp - 0x2118]
call fcn.00545380
lea ecx, [ebp - 0x217c]
mov byte [ebp - 4], 7
call fcn.00545380
cmp byte [esi + 4], 0
je 0x54f3e9
mov byte [ebp - 0x2f65], 2
jmp 0x550a86
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x2044], 0
push 0x1a
lea ecx, [ebp - 0x204c]
movq qword [ebp - 0x204c], xmm0
call fcn.004039c0
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.00545460
push 0
push 0
push 0x800
lea ecx, [ebp - 0x1fb0]
call fcn.005448f0
push eax
push 0x800
call dword [0x5fd3f0]
test eax, eax
je 0x54f6a3
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.005450e0
mov dword [ebp - 0x2f6c], eax
cmp word [eax], 0
je 0x54f691
mov dword [ebp - 0x2e24], 0xc
mov esi, eax
mov edi, 1
nop
push esi
call dword [0x5fd408]
cmp eax, 3
jne 0x54f648
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x30]
push eax
push esi
call dword [0x5fd440]
lea eax, [edi + 1]
mov dword [ebp - 0x2f64], eax
cmp dword [ebp - 0x204c], edi
ja 0x54f4fc
mov dword [ebp - 0x204c], eax
jmp 0x54f502
mov dword [ebp - 0x2f64], eax
mov ecx, dword [ebp - 0x2e24]
add ecx, dword [ebp - 0x2044]
push 1
push esi
call fcn.005451b0
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.00543d90
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.00545410
test al, al
jne 0x54f648
push 4
push 0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x20]
call fcn.00543e70
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.005450e0
push eax
push 0x61e1ec
mov ecx, esi
call fcn.005450e0
push eax
push 0x6856fc
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
push 4
push 0
push dword [ebp - 0x24]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x28]
call fcn.00543e70
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.005450e0
push eax
push 0x6726dc
lea ecx, [ebp - 0x1fa0]
call fcn.00543750
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
mov esi, dword [ebp - 0x2f6c]
inc edi
add dword [ebp - 0x2e24], 0xc
mov eax, dword [ebp - 0x204c]
cmp eax, edi
ja 0x54f662
push 0
add eax, eax
lea ecx, [ebp - 0x204c]
push eax
call fcn.00403810
mov ecx, esi
call fcn.00541c20
lea esi, [esi + eax*2]
add esi, 2
mov dword [ebp - 0x2f6c], esi
cmp word [esi], 0
jne 0x54f4c0
mov esi, dword [ebp - 0x2f88]
mov dword [ebp - 0x2e24], edi
mov edi, dword [ebp - 0x2fa0]
push 0
push 0x621884
lea ecx, [ebp - 0x2018]
call fcn.005324b0
cmp byte [esi + 4], 0
je 0x54f6b5
mov byte [ebp - 0x2f65], 2
jmp 0x550a75
xor ecx, ecx
call fcn.004ea2f0
push 0x38
lea eax, [ebp - 0x2228]
push 0
push eax
call fcn.004201e0
add esp, 0xc
lea ecx, [ebp - 0x2228]
push 1
push 0x6295f4
call fcn.004e6b70
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2018]
cmp byte [ebp - 0x21f8], 0
push 0
je 0x54fae7
push 0x685720
call fcn.005324b0
push 0x685750
lea ecx, [ebp - 0x2228]
call fcn.004e6970
test eax, eax
je 0x54f824
lea ecx, [ebp - 0x2228]
call fcn.004e6820
test eax, eax
je 0x54f824
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6280e0
lea ecx, [ebp - 0x2228]
call fcn.004e65b0
push eax
push 0x6857ac
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6857d0
lea ecx, [ebp - 0x2228]
call fcn.004e65b0
push eax
push 0x6857e8
lea ecx, [ebp - 0x1fa0]
call fcn.00543750
push dword [edi + 0xc8]
call dword [0x5fdaf8]
lea eax, [ebp - 0x2f60]
push eax
push 0
push 0x200
push dword [edi + 0xcc]
call dword [0x5fdaf0]
movsd xmm1, qword [ebp - 0x2f58]
lea ecx, [ebp - 0x1fb0]
push 2
call fcn.005445e0
mov ecx, eax
call fcn.00542b60
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x685814
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x685820
lea ecx, [ebp - 0x1fa0]
call fcn.00543750
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 0x685860
lea ecx, [ebp - 0x2228]
call fcn.004e6970
test eax, eax
je 0x54faf1
lea ecx, [ebp - 0x2228]
call fcn.004e6820
test eax, eax
je 0x54faf1
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x685990
lea ecx, [ebp - 0x2228]
call fcn.004e65b0
push eax
push 0x6859ac
push 0
lea ecx, [edi + 0x1298]
call fcn.004da500
push eax
push 0x6859dc
lea ecx, [edi + 0x1a0]
call fcn.005450e0
push eax
push 0x685a08
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 4
push 0
push 0x685a38
lea ecx, [ebp - 0x2228]
call fcn.004e6570
push edx
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00543e70
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.005450e0
push eax
push 0x685a68
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 4
push 0
push 0x685aac
lea ecx, [ebp - 0x2228]
call fcn.004e6570
push edx
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00543e70
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d070
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x685ad4
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 4
push 0
push 0x685aec
lea ecx, [ebp - 0x2228]
call fcn.004e6570
push edx
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00543e70
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.005450e0
push eax
push 0x685b20
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 4
push 0
push 0x685b64
lea ecx, [ebp - 0x2228]
call fcn.004e6570
push edx
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00543e70
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d070
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x685ad4
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 1
push 0
push 0x685b88
lea ecx, [ebp - 0x2228]
call fcn.004e65b0
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.005451b0
mov edx, 0x13
lea ecx, [ebp - 0x1fb0]
call fcn.004e95f0
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.005450e0
push eax
push 0x685ba8
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 0x43
call dword [0x5fd6d0]
lea ecx, [ebp - 0x2018]
push 0
cmp eax, 1
jne 0x54fad4
push 0x685be0
jmp 0x54faec
cmp eax, 2
jne 0x54fae0
push 0x685c30
jmp 0x54faec
push 0x685c90
jmp 0x54faec
push 0x685cd0
call fcn.005324b0
cmp byte [esi + 4], 0
je 0x54fb03
mov byte [ebp - 0x2f65], 2
jmp 0x550a6a
push 0
push 0x20019
push 0x685d10
lea ecx, [ebp - 0x1fa4]
mov dword [ebp - 0x1fa4], 0
call fcn.0053fa50
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1fb4]
mov dword [ebp - 0x1fb4], 0
call fcn.0053fa70
lea eax, [ebp - 0x1fb0]
mov byte [ebp - 4], 0xe
push eax
push 0x644c00
lea ecx, [ebp - 0x1fa4]
call fcn.0053f710
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x685d90
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 0
push 0x685dc0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x2f7c]
test al, 4
je 0x54fbc0
mov eax, 0x685df0
jmp 0x54fbda
test al, 1
je 0x54fbcb
mov eax, 0x685e40
jmp 0x54fbda
test al, 2
mov ecx, 0x685ec0
mov eax, 0x685e80
cmove eax, ecx
push 0
push eax
lea ecx, [ebp - 0x2018]
call fcn.005324b0
test byte [ebp - 0x2f7c], 0xc
mov ecx, 0x685ef0
mov eax, 0x685f20
cmovne eax, ecx
lea ecx, [ebp - 0x2018]
push 0
push eax
call fcn.005324b0
push 0
push 0x685f60
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x2f7c]
test al, 0x40
je 0x54fc3e
push 0
push 0x685f90
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x2f7c]
mov esi, eax
test eax, 0x10
mov ecx, 0x685fc0
mov eax, 0x685ff0
cmovne eax, ecx
lea ecx, [ebp - 0x2018]
push 0
push eax
call fcn.005324b0
test byte [ebp - 0x2f7c], 0x20
mov ecx, 0x686030
mov eax, 0x686070
cmovne eax, ecx
lea ecx, [ebp - 0x2018]
push 0
push eax
call fcn.005324b0
push 0
push 0x6860c0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
test byte [ebp - 0x2f7c], 8
mov ecx, 0x686184
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, 0x686160
mov edx, 0x61d074
cmove eax, ecx
mov ecx, 0x6861a0
push 0x621884
test esi, 0x10
mov dword [ebp - 0x2f94], eax
push eax
cmove ecx, edx
push ecx
push 0x6861b8
mov dword [ebp - 0x2f98], ecx
lea ecx, [ebp - 0x1fa0]
push 0x686228
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
je 0x54fd1b
mov byte [ebp - 0x2f65], 2
jmp 0x550a54
xorps xmm0, xmm0
mov dword [ebp - 0x1fc4], 0
lea ecx, [ebp - 0x1fcc]
movq qword [ebp - 0x1fcc], xmm0
call fcn.00545530
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1fd8]
xorps xmm0, xmm0
mov dword [ebp - 0x1fd0], 0
movq qword [ebp - 0x1fd8], xmm0
call fcn.00545530
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1fe4]
xorps xmm0, xmm0
mov dword [ebp - 0x1fdc], 0
movq qword [ebp - 0x1fe4], xmm0
call fcn.00545530
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2e24], 0
mov dword [ebp - 0x2f6c], 0
jbe 0x54ffc7
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0x2f64], ecx
cmp dword [ebp - 0x204c], esi
ja 0x54fdb9
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 0x6862a8
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545150
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
call dword [0x5fd684]
test eax, eax
je 0x54ff9b
push 0x800
push 0
push str.Open
push 0x6862c4
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544130
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
jne 0x54ff9b
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537580
test al, al
jne 0x54feb5
push 2
push 2
push 1
push 1
push 0x61e3a8
lea ecx, [ebp - 0x1f94]
call fcn.00543a40
test eax, eax
jne 0x54feb5
cmp dword [ebp - 0x204c], esi
ja 0x54fe7f
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
call dword [0x5fd684]
test eax, eax
jne 0x54fee6
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x54ff9b
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x64d780
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x6862d4
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
mov eax, dword [ebp - 0x2f6c]
inc eax
mov dword [ebp - 0x2f6c], eax
jmp 0x54ffa1
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 0x54fda8
mov esi, dword [ebp - 0x2f88]
test eax, eax
jne 0x54ffd9
push 0
push 0x686300
lea ecx, [ebp - 0x2018]
call fcn.005324b0
push 0
push 0x686370
lea ecx, [ebp - 0x2018]
call fcn.005324b0
cmp byte [esi + 4], 0
jne 0x550a2c
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.00545150
lea eax, [ebp - 0x1fb0]
push eax
push 0x61d074
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f5a0
lea ecx, [ebp - 0x1fb0]
call fcn.00544e00
test al, al
je 0x5500ad
push 0x66e528
lea ecx, [ebp - 0x1fb0]
call fcn.00545460
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x66e560
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push str.HKCR_
lea ecx, [ebp - 0x1ff0]
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x61d074
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f5a0
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
je 0x550122
push 0x66e548
lea ecx, [ebp - 0x1f94]
call fcn.00545460
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x64d780
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x64d780
push dword [ebp + edi*4 - 0x2fc4]
lea ecx, [ebp - 0x1fa0]
push 0x68641c
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
inc edi
cmp edi, 7
jl 0x550040
push 0
push 0x686450
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov edx, dword [ebp - 0x2f9c]
mov edi, dword [ebp - 0x2fa0]
mov dword [ebp - 0x2f74], 0
mov dword [ebp - 0x2f90], 0x64
test edx, edx
je 0x550897
mov ecx, edx
and ecx, 1
test dl, 2
je 0x5501c8
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 0x55022e
xor edx, edx
mov eax, 0x64
div dword [ebp - 0x2f70]
mov edx, dword [ebp - 0x2f9c]
mov dword [ebp - 0x2f90], eax
test dl, 1
je 0x550897
push 0x686500
push 0
lea ecx, [edi + 0x14c0]
call fcn.00513e70
cmp byte [esi + 4], 0
jne 0x550a2c
lea eax, [ebp - 0x2034]
mov dword [ebp - 0x2034], 0
push eax
push 0x1f40
lea eax, [ebp - 0x1f88]
push eax
call dword [0x5fd378]
test eax, eax
je 0x55045e
mov eax, dword [ebp - 0x2034]
lea ecx, [ebp - 0x2024]
shr eax, 2
push eax
mov dword [ebp - 0x2034], eax
call fcn.005441e0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2f98]
push 0x686540
call fcn.005450e0
push eax
push 0x6865bc
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 0
push 0
push 0x800
lea ecx, [ebp - 0x1f94]
call fcn.005448f0
cmp dword [ebp - 0x2034], 0
mov dword [ebp - 0x2f64], 0
jbe 0x550439
cmp byte [esi + 4], 0
jne 0x550a2c
lea ecx, [ebp - 0x1f94]
call fcn.005452d0
push 0x800
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
mov edx, eax
mov eax, dword [ebp - 0x2f64]
mov ecx, dword [ebp + eax*4 - 0x1f88]
call fcn.0052b8a0
test al, al
je 0x550420
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x550420
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x6865f0
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
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.00513e70
cmp byte [esi + 4], 0
jne 0x550a2c
mov eax, dword [ebp - 0x2f64]
inc eax
mov dword [ebp - 0x2f64], eax
cmp eax, dword [ebp - 0x2034]
jb 0x550314
push 0
push 0x686620
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x2f90]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x2f74], eax
jmp 0x550460
xor eax, eax
cmp dword [ebp - 0x2034], 0
je 0x55087d
push 0x6866cc
push eax
lea ecx, [edi + 0x14c0]
call fcn.00513e70
cmp byte [esi + 4], 0
jne 0x550a2c
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.004039c0
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 0x550683
nop
cmp byte [esi + 4], 0
jne 0x550a10
push dword [ebp + ecx*4 - 0x1f88]
push 0x18
call dword [0x5fd474]
push eax
lea ecx, [ebp - 0x2e48]
call fcn.00401610
mov eax, dword [ebp - 0x2e48]
cmp eax, 0xffffffff
je 0x55066a
test eax, eax
je 0x55066a
lea ecx, [ebp - 0x2e20]
push ecx
push eax
call dword [0x5fd380]
test eax, eax
je 0x55066a
lea eax, [ebp - 0x2e20]
push eax
push dword [ebp - 0x2e48]
call dword [0x5fd2dc]
test eax, eax
je 0x55066a
mov edx, dword [ebp - 0x2f80]
lea esi, [edx + edx*2]
shl esi, 2
mov dword [ebp - 0x2f64], esi
jmp 0x550577
mov edx, dword [ebp - 0x2f80]
test edx, edx
je 0x5505dc
xor esi, esi
test edx, edx
je 0x5505d6
xor ecx, ecx
mov dword [ebp - 0x2f78], ecx
nop dword [eax]
cmp dword [ebp - 0x2064], esi
lea eax, [esi + 1]
mov esi, eax
ja 0x5505a3
mov dword [ebp - 0x2064], eax
add ecx, dword [ebp - 0x205c]
lea eax, [ebp - 0x2c00]
push eax
call fcn.00545410
test al, al
jne 0x55063d
mov ecx, dword [ebp - 0x2f78]
mov edx, dword [ebp - 0x2f80]
add ecx, 0xc
mov dword [ebp - 0x2f78], ecx
cmp esi, edx
jb 0x550590
mov esi, dword [ebp - 0x2f64]
cmp dword [ebp - 0x2064], edx
ja 0x5505ed
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.00545460
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 0x550643
add eax, 0x3e8
lea ecx, [ebp - 0x2064]
push 0
push eax
mov dword [ebp - 0x2f6c], eax
call fcn.00403810
jmp 0x550643
mov esi, dword [ebp - 0x2f64]
lea eax, [ebp - 0x2e20]
push eax
push dword [ebp - 0x2e48]
call dword [0x5fd2dc]
test eax, eax
jne 0x550571
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 0x5504f0
push dword [ebp - 0x2f80]
lea ecx, [ebp - 0x2024]
call fcn.00544270
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2f98]
push 0x686708
call fcn.005450e0
push eax
push 0x68677c
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
xor ecx, ecx
mov dword [ebp - 0x2f6c], ecx
cmp dword [ebp - 0x2f80], ecx
jbe 0x55084b
xor edx, edx
mov dword [ebp - 0x2e24], edx
cmp byte [esi + 4], 0
jne 0x550a10
lea eax, [ecx + 1]
mov dword [ebp - 0x2f64], eax
cmp dword [ebp - 0x2064], ecx
ja 0x550723
mov dword [ebp - 0x2064], eax
jmp 0x550729
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x550824
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 0x621884
mov dword [ebp - 0x2064], eax
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
mov ecx, esi
call fcn.005450e0
push eax
push 0x6867ac
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
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.00513e70
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
jne 0x550a10
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 0x550700
push 0
push 0x6867e0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
lea ecx, [ebp - 0x2e48]
call fcn.004015f0
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x205c]
test ecx, ecx
je 0x55087d
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.00513e70
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 0x55090c
push 0
lea eax, [ebp - 0x2030]
push eax
lea edx, [ebp - 0x2090]
lea ecx, [ebp - 0x2054]
call fcn.004fad10
mov dword [ebp - 0x2f8c], eax
test eax, eax
jne 0x55097c
and dword [ebp - 0x2f7c], 0xffffffbf
push 0
lea ecx, [edi + 0x1298]
mov dword [ebp - 0x2f8c], 1
call fcn.004da500
push eax
push 1
lea ecx, [ebp - 0x2030]
call fcn.00403530
mov ecx, eax
call fcn.00545460
push 0
lea ecx, [edi + 0x1298]
call fcn.004da4d0
push eax
push 1
lea ecx, [ebp - 0x2054]
call fcn.00403530
mov ecx, eax
call fcn.00545460
push 0
lea ecx, [edi + 0x1298]
call fcn.004da530
push eax
push 1
lea ecx, [ebp - 0x2090]
call fcn.00403530
mov ecx, eax
call fcn.00545460
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.004036c0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x2e30]
xorps xmm0, xmm0
mov dword [ebp - 0x2e28], 0
movq qword [ebp - 0x2e30], xmm0
call fcn.0053fa90
test byte [ebp - 0x2f9c], 2
mov byte [ebp - 4], 0x18
je 0x551b91
push 0x686884
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00513e70
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
je 0x550b04
mov byte [ebp - 0x2f65], 2
jmp 0x5572fe
lea ecx, [ebp - 0x2e48]
call fcn.004015f0
mov ecx, dword [ebp - 0x205c]
test ecx, ecx
je 0x550a2c
push 3
call fcn.00401e60
mov byte [ebp - 0x2f65], 2
lea ecx, [ebp - 0x1fe4]
call fcn.00545380
lea ecx, [ebp - 0x1fd8]
call fcn.00545380
lea ecx, [ebp - 0x1fcc]
call fcn.00545380
lea ecx, [ebp - 0x1fb4]
call fcn.0053f9b0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f9b0
lea ecx, [ebp - 0x2228]
call fcn.004e6bf0
mov ecx, dword [ebp - 0x2044]
test ecx, ecx
je 0x550a86
push 3
call fcn.00401e60
lea ecx, [ebp - 0x2018]
call fcn.00401e00
lea ecx, [ebp - 0x1fc0]
call fcn.00545380
lea ecx, [ebp - 0x1ff0]
call fcn.00545380
lea ecx, [ebp - 0x2024]
call fcn.00545380
lea ecx, [ebp - 0x1f94]
call fcn.00545380
lea ecx, [ebp - 0x1fb0]
call fcn.00545380
lea ecx, [ebp - 0x1fa0]
call fcn.00545380
lea ecx, [ebp - 0x2154]
call fcn.00545380
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.0041e475
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 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x6868c0
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
xorps xmm0, xmm0
lea ecx, [ebp - 0x21a0]
movups xmmword [ebp - 0x21a0], xmm0
movq qword [ebp - 0x2190], xmm0
call fcn.00542300
mov eax, dword [ebp - 0x2f8c]
mov byte [ebp - 4], 0x19
test eax, eax
je 0x550bd8
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 0x669e88
call fcn.005450e0
push eax
push str.HKU_
mov ecx, esi
call fcn.00545150
add edi, 0xc
sub dword [ebp - 0x2f78], 1
jne 0x550b80
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 0x63e9e8
call fcn.00545460
cmp byte [edi + 0x28], 0
je 0x550c15
mov eax, dword [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x2f70]
add eax, 0xc
push 0x63ea60
add ecx, eax
call fcn.00545460
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 0x5510c4
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.00513e70
cmp byte [esi + 4], 0
jne 0x551b7a
mov eax, dword [ebp - 0x2f64]
cmp eax, dword [ebp - 0x2f8c]
jae 0x550cc4
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 0x686968
call fcn.005450e0
push eax
push 0x686980
lea ecx, [ebp - 0x1fc0]
call fcn.00545150
jmp 0x550cdd
lea ecx, [ebp - 0x1fc0]
jne 0x550cd3
push 0x686988
jmp 0x550cd8
push 0x6869a0
call fcn.00545460
mov ecx, dword [ebp - 0x2e24]
lea eax, [ebp - 0x1fb0]
add ecx, dword [ebp - 0x1ff8]
push eax
push 0x63a434
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f5a0
test al, al
je 0x550e70
push 1
push 0x61e3a4
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x21a0]
call fcn.00542050
mov ecx, eax
call fcn.005421f0
test eax, eax
je 0x550e70
lea ecx, [ebp - 0x21a0]
mov dword [ebp - 0x2f70], 0
call fcn.005421f0
test eax, eax
je 0x550e70
mov esi, dword [ebp - 0x2f70]
nop
push 3
push 1
push esi
lea ecx, [ebp - 0x21a0]
call fcn.00542200
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005451b0
lea edx, [edi + 0x1c]
mov ecx, eax
call fcn.00537580
test al, al
jne 0x550db0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x550e56
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x6869bc
lea ecx, [ebp - 0x1fc0]
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
lea ecx, [ebp - 0x21a0]
inc esi
call fcn.005421f0
cmp esi, eax
jb 0x550d60
mov esi, dword [ebp - 0x2f88]
mov ecx, dword [ebp - 0x2e24]
lea eax, [ebp - 0x1f94]
add ecx, dword [ebp - 0x1ff8]
push eax
push 0x63a464
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f5a0
test al, al
je 0x550f81
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537580
test al, al
jne 0x550edb
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x551092
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x6869dc
lea ecx, [ebp - 0x1fc0]
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
mov ecx, dword [ebp - 0x2e24]
lea eax, [ebp - 0x1f94]
add ecx, dword [ebp - 0x1ff8]
push eax
push 0x63a48c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f5a0
test al, al
je 0x551092
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537580
test al, al
jne 0x550fec
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x551092
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x6869f4
lea ecx, [ebp - 0x1fc0]
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
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 0x550c53
movsd xmm0, qword [0x6e42e0]
comisd xmm0, xmmword [edi + 8]
jbe 0x551268
push 0
push 0x20019
push 0x67c708
lea ecx, [ebp - 0x1fa4]
call fcn.0053fa00
test al, al
je 0x551268
lea eax, [ebp - 0x2e30]
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f350
test al, al
je 0x551268
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 0x61d06c
push 0x67c708
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x67c7c8
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
test al, al
je 0x551246
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537580
test al, al
jne 0x5511a6
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x551246
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x64d780
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fa0]
push 0x686a10
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
lea eax, [ebp - 0x2e30]
inc esi
push eax
push esi
lea ecx, [ebp - 0x1fa4]
call fcn.0053f350
test al, al
jne 0x551114
mov esi, dword [ebp - 0x2f88]
push 0
push 0x686a40
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x2f6c]
mov ecx, dword [ebp - 0x2f74]
push 0x686ae4
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x2f74], ecx
push ecx
lea ecx, [edi + 0x14c0]
call fcn.00513e70
cmp byte [esi + 4], 0
jne 0x551b7a
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x686b20
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
mov eax, dword [ebp - 0x2f8c]
mov dword [ebp - 0x2fe4], 0x640338
mov dword [ebp - 0x2fe0], 0x65f758
mov dword [ebp - 0x2fdc], 0x65f768
test eax, eax
je 0x551379
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 0x65f6a8
call fcn.005450e0
push eax
push str.HKU_
mov ecx, esi
call fcn.00545150
add edi, 0xc
sub dword [ebp - 0x2f78], 1
jne 0x551321
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 0x67c9f8
lea ecx, [eax + ecx*4]
call fcn.00545460
cmp byte [edi + 0x28], 0
je 0x5513b2
mov eax, dword [ebp - 0x2f8c]
inc eax
push 0x67c8e0
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x1ff8]
lea ecx, [eax + ecx*4]
call fcn.00545460
xor eax, eax
mov dword [ebp - 0x2f78], eax
cmp dword [ebp - 0x2f80], eax
jbe 0x5516a4
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.00513e70
cmp byte [esi + 4], 0
jne 0x551b7a
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 0x55145d
mov ecx, dword [ebp - 0x2e24]
add ecx, dword [ebp - 0x2030]
push 0x622774
push eax
push 0x61d06c
call fcn.005450e0
push eax
push 0x686980
jmp 0x551475
push 0
push 0
push 0x622774
push eax
jne 0x551470
push 0x686bc8
jmp 0x551475
push 0x686bdc
lea ecx, [ebp - 0x1fc0]
call fcn.00545150
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.005450e0
push eax
lea ecx, [ebp - 0x1ff0]
call fcn.00545150
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fa00
test al, al
je 0x55165c
lea eax, [ebp - 0x2e30]
mov dword [ebp - 0x2f64], 0
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f2b0
test al, al
je 0x55165c
nop dword [eax]
nop dword [eax + eax]
lea eax, [ebp - 0x1f94]
push eax
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fa4]
call fcn.0053f710
test al, al
je 0x551634
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
jne 0x551634
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537580
test al, al
jne 0x55157d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x551634
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x64d780
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d780
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x551b7a
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.0053f2b0
test al, al
jne 0x551510
mov edx, dword [ebp - 0x2f84]
inc edx
mov dword [ebp - 0x2f84], edx
cmp edx, 3
jb 0x551410
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 0x5513d4
push 0
lea ecx, [edi + 0x1298]
call fcn.004d9fc0
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545460
push 0
lea ecx, [edi + 0x1298]
call fcn.004da3c0
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00543d20
mov eax, dword [ebp - 0x2f74]
add eax, dword [ebp - 0x2f6c]
mov dword [ebp - 0x2f74], eax
mov eax, dword [ebp - 0x2f8c]
test eax, eax
je 0x551773
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.005450e0
push eax
mov ecx, esi
call fcn.005450e0
push eax
mov ecx, edi
call fcn.00545150
mov ecx, dword [ebp - 0x2f70]
add ecx, 0xc
sub dword [ebp - 0x2f84], 1
mov dword [ebp - 0x2f70], ecx
jne 0x551710
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.004da030
push eax
mov ecx, esi
call fcn.00545460
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.004201e0
add esp, 0xc
push 0x4c
lea eax, [ebp - 0x22c8]
mov byte [ebp - 4], 0x1a
push 0
push eax
call fcn.004201e0
add esp, 0xc
lea ecx, [ebp - 0x22c8]
call fcn.005381e0
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.00513e70
cmp byte [esi + 4], 0
jne 0x551b5d
mov eax, dword [ebp - 0x2f8c]
cmp dword [ebp - 0x2f78], eax
jne 0x55185b
push 0x686bf8
lea ecx, [ebp - 0x1fc0]
call fcn.00545460
jmp 0x551894
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 0x686c24
call fcn.005450e0
push eax
push 0x686980
lea ecx, [ebp - 0x1fc0]
call fcn.00545150
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 0x63a58c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1ff0]
call fcn.00545150
push 3
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2798]
call fcn.00401820
test al, al
je 0x551abe
nop dword [eax + eax]
push 0
mov edx, 0x642eb0
lea ecx, [ebp - 0x276c]
call fcn.00541ab0
test eax, eax
je 0x551aab
xor edx, edx
lea eax, [ebp - 0x276c]
cmp word [ebp - 0x276c], dx
je 0x551935
nop dword [eax + eax]
movzx ecx, word [eax + 2]
add eax, 2
cmp ecx, 0x2e
jne 0x551930
mov edx, eax
jmp 0x551920
test cx, cx
jne 0x551920
push edx
lea ecx, [ebp - 0x1fb0]
call fcn.00545460
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545150
push 0x629214
lea ecx, [ebp - 0x1fb0]
call fcn.00545410
test al, al
je 0x5519f3
push 0
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x22c8]
call fcn.005380a0
push 0
lea ecx, [ebp - 0x22c8]
call fcn.00538050
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545460
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
call dword [0x5fd684]
test eax, eax
jne 0x5519f3
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x551aab
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x64d780
lea eax, [ebp - 0x276c]
push eax
push 0x64d780
lea ecx, [ebp - 0x1fc0]
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x551b5d
lea ecx, [ebp - 0x2798]
call fcn.004017d0
test al, al
jne 0x5518f0
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 0x551813
push 0
push 0x686c50
lea ecx, [ebp - 0x2018]
call fcn.005324b0
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.00513e70
lea ecx, [ebp - 0x22c8]
call fcn.00537d40
mov eax, dword [ebp - 0x2548]
cmp eax, 0xffffffff
je 0x551b4c
push eax
call dword [0x5fd4a8]
lea ecx, [ebp - 0x21a0]
mov byte [ebp - 4], 0x18
call fcn.00542260
jmp 0x551b97
lea ecx, [ebp - 0x22c8]
call fcn.00537d40
mov eax, dword [ebp - 0x2548]
cmp eax, 0xffffffff
je 0x551b7a
push eax
call dword [0x5fd4a8]
lea ecx, [ebp - 0x21a0]
call fcn.00542260
mov byte [ebp - 0x2f65], 2
jmp 0x5572fe
mov esi, dword [ebp - 0x2f88]
xorps xmm0, xmm0
mov dword [ebp - 0x2074], 0
lea ecx, [ebp - 0x207c]
movq qword [ebp - 0x207c], xmm0
call fcn.00545530
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x2040]
xorps xmm0, xmm0
mov dword [ebp - 0x2038], 0
movq qword [ebp - 0x2040], xmm0
call fcn.00545530
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x2160]
xorps xmm0, xmm0
mov dword [ebp - 0x2158], 0
movq qword [ebp - 0x2160], xmm0
call fcn.00545530
push 8
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2e38]
push 0x686d08
mov dword [ebp - 0x2e38], 0
call fcn.004019a0
mov eax, dword [ebp - 0x2f9c]
mov byte [ebp - 4], 0x1f
test al, 4
je 0x552c76
push 0x686d60
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00513e70
cmp byte [esi + 4], 0
jne 0x5573ac
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x686dc0
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
mov eax, dword [ebp - 0x2f8c]
test eax, eax
je 0x551d08
xor edi, edi
mov dword [ebp - 0x2f70], 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, [ecx + edi]
add esi, edi
push 0x645cf0
call fcn.005450e0
push eax
push str.HKU_
mov ecx, esi
call fcn.00545150
add edi, 0xc
sub dword [ebp - 0x2f70], 1
jne 0x551cb0
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 0x645a10
call fcn.00545460
cmp byte [edi + 0x28], 0
je 0x551d45
mov eax, dword [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x2f70]
add eax, 0xc
push 0x645b20
add ecx, eax
call fcn.00545460
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 0x552063
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.00513e70
cmp byte [esi + 4], 0
jne 0x5573ac
mov eax, dword [ebp - 0x2f78]
cmp eax, dword [ebp - 0x2f8c]
jae 0x551df4
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 0x686e90
call fcn.005450e0
push eax
push 0x686980
lea ecx, [ebp - 0x1fc0]
call fcn.00545150
jmp 0x551e0d
lea ecx, [ebp - 0x1fc0]
jne 0x551e03
push 0x686eb0
jmp 0x551e08
push 0x686ed0
call fcn.00545460
mov ecx, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0x20019
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fa00
test al, al
je 0x55202b
lea eax, [ebp - 0x1f94]
push eax
push 0x645d48
lea ecx, [ebp - 0x1fa4]
call fcn.0053f710
test al, al
je 0x551eb5
lea ecx, [ebp - 0x1f94]
call fcn.005452f0
test eax, eax
je 0x551eb5
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x686ef4
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x686f1c
lea ecx, [ebp - 0x1fc0]
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
lea eax, [ebp - 0x1f94]
push eax
push 0x6616fc
lea ecx, [ebp - 0x1fa4]
call fcn.0053f710
test al, al
je 0x551f31
lea ecx, [ebp - 0x1f94]
call fcn.005452f0
test eax, eax
je 0x551f31
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x686f40
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x686f88
lea ecx, [ebp - 0x1fc0]
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
lea eax, [ebp - 0x1f94]
push eax
push 0x67b6d0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f710
test al, al
je 0x55202b
lea ecx, [ebp - 0x1f94]
call fcn.005452f0
test eax, eax
je 0x55202b
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
call dword [0x5fd684]
test eax, eax
jne 0x551f94
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
push 0
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
push 0x686fc8
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x686fec
lea ecx, [ebp - 0x1fc0]
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x5573ac
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 0x551d83
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 0x5520e4
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 0x646198
call fcn.005450e0
push eax
push str.HKU_
mov ecx, esi
call fcn.00545150
add edi, 0xc
sub dword [ebp - 0x2f70], 1
jne 0x552092
mov edi, dword [ebp - 0x2fa0]
mov esi, dword [ebp - 0x2f8c]
mov eax, dword [ebp - 0x1ff8]
lea ecx, [esi + esi*2]
push 0x645fc8
lea ecx, [eax + ecx*4]
call fcn.00545460
cmp byte [edi + 0x28], 0
je 0x552119
mov eax, dword [ebp - 0x1ff8]
lea ecx, [esi + 1]
lea ecx, [ecx + ecx*2]
push 0x646038
lea ecx, [eax + ecx*4]
call fcn.00545460
cmp dword [ebp - 0x2f80], 0
mov esi, dword [ebp - 0x2f88]
mov dword [ebp - 0x2f78], 0
jbe 0x5527e5
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.00513e70
cmp byte [esi + 4], 0
jne 0x5573ac
mov ecx, dword [ebp - 0x2f6c]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0x20019
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fa00
test al, al
je 0x55231c
mov eax, dword [ebp - 0x2f78]
cmp eax, dword [ebp - 0x2f8c]
jae 0x5521ed
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 0x687010
call fcn.005450e0
push eax
push 0x686980
lea ecx, [ebp - 0x1fc0]
call fcn.00545150
jmp 0x552206
lea ecx, [ebp - 0x1fc0]
jne 0x5521fc
push 0x687028
jmp 0x552201
push 0x687040
call fcn.00545460
lea eax, [ebp - 0x2e30]
mov dword [ebp - 0x2f84], 0
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f350
test al, al
je 0x55231c
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1ff0]
call fcn.00545150
lea eax, [ebp - 0x1fb0]
push eax
push 0x657c0c
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
test al, al
je 0x5522f4
lea ecx, [ebp - 0x1fb0]
call fcn.00544e00
test al, al
jne 0x5522f4
push 0
push 0
push 0
push 0
push 0
push 0x68705c
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x64d780
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d780
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x2e30]
inc esi
push eax
push esi
lea ecx, [ebp - 0x1fa4]
call fcn.0053f350
test al, al
jne 0x552240
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 0x552150
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.00513e70
cmp byte [esi + 4], 0
jne 0x5573ac
mov eax, dword [ebp - 0x2f78]
cmp eax, dword [ebp - 0x2f8c]
jae 0x552477
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 0x661b88
call fcn.005450e0
push eax
push str.HKU_
lea ecx, [ebp - 0x1ff0]
call fcn.00545150
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 0x68708c
call fcn.005450e0
push eax
push str.HKU_
lea ecx, [ebp - 0x207c]
call fcn.00545150
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 0x6870bc
call fcn.005450e0
push eax
push 0x686980
lea ecx, [ebp - 0x1fc0]
call fcn.00545150
jmp 0x5524c2
push 1
lea ecx, [ebp - 0x1ff0]
jne 0x552494
push 0x645ee0
call fcn.005451b0
push 1
push 0x6870d4
jmp 0x5524a5
push 0x645f48
call fcn.005451b0
push 1
push 0x687138
lea ecx, [ebp - 0x207c]
call fcn.005451b0
push 1
push 0x68710c
lea ecx, [ebp - 0x1fc0]
call fcn.005451b0
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fa00
test al, al
je 0x5527ab
lea eax, [ebp - 0x2e30]
mov dword [ebp - 0x2f70], 0
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f2b0
test al, al
je 0x5527ab
nop
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fb0]
call fcn.00545460
push 0
push dword [ebp - 0x2e38]
lea ecx, [ebp - 0x1fb0]
call fcn.005428c0
test al, al
je 0x552783
lea ecx, [ebp - 0x1f94]
call fcn.00545350
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f5f0
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2040]
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x61d074
lea ecx, [ebp - 0x2040]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
test al, al
je 0x5525b4
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
je 0x55260e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f610
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2040]
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x61d074
lea ecx, [ebp - 0x2040]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
je 0x552677
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f610
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2040]
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x61d074
lea ecx, [ebp - 0x2040]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
lea ecx, [ebp - 0x1f94]
test al, al
je 0x552698
push 0x687188
call fcn.00545460
jmp 0x5526cc
push 3
lea edx, [edi + 0x1c]
call fcn.00537580
test al, al
jne 0x5526cc
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x552783
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x64d780
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d780
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x5573ac
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.0053f2b0
test al, al
jne 0x552510
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 0x552390
mov ecx, dword [ebp - 0x2f74]
jmp 0x5527fc
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], 0x6457f8
push 0
add eax, edx
mov dword [ebp - 0x2fb8], 0x645898
sar eax, 2
push 0
add ecx, eax
mov dword [ebp - 0x2fb4], 0
push 0x6871a8
mov dword [ebp - 0x2f74], ecx
lea ecx, [edi + 0x1298]
push 0
mov dword [ebp - 0x2fac], 0x646760
call fcn.004da0f0
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545150
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
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.0053fa00
test al, al
je 0x552c19
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.00513e70
cmp byte [esi + 4], 0
jne 0x5573ac
mov eax, dword [ebp - 0x2f6c]
test eax, eax
jne 0x552934
push 0x687214
lea ecx, [ebp - 0x1fc0]
call fcn.00545460
push 0x6870d4
lea ecx, [ebp - 0x207c]
call fcn.00545460
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 0x552987
call fcn.0053f350
jmp 0x55298c
cmp eax, 1
jne 0x552950
push 0x687220
lea ecx, [ebp - 0x1fc0]
call fcn.00545460
push 0x687138
jmp 0x552903
cmp eax, 2
jne 0x55295c
push 0x687238
jmp 0x5528f3
cmp eax, 3
jne 0x552968
push 0x68725c
jmp 0x5528f3
cmp eax, 4
jne 0x5528fe
push 0x687284
lea ecx, [ebp - 0x1fc0]
call fcn.00545460
push 0x687138
jmp 0x552903
call fcn.0053f2b0
test al, al
je 0x552c19
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1f94]
call fcn.00545460
push 0
push dword [ebp - 0x2e38]
lea ecx, [ebp - 0x1f94]
call fcn.005428c0
test al, al
je 0x552c0d
lea ecx, [ebp - 0x1f94]
call fcn.00545350
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f5f0
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2040]
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x61d074
lea ecx, [ebp - 0x2040]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
test al, al
je 0x552a38
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
je 0x552a92
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f610
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2040]
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x61d074
lea ecx, [ebp - 0x2040]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
je 0x552afb
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f610
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2040]
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x61d074
lea ecx, [ebp - 0x2040]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
je 0x552b1c
push 0x687188
lea ecx, [ebp - 0x1f94]
call fcn.00545460
jmp 0x552b56
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1fb0]
call fcn.00537580
test al, al
jne 0x552b56
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x552c0d
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x64d780
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d780
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x5573ac
mov eax, dword [ebp - 0x2f70]
inc eax
jmp 0x552910
mov eax, dword [ebp - 0x2f6c]
inc eax
mov dword [ebp - 0x2f6c], eax
cmp eax, 5
jb 0x552890
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.00513e70
push 0
push 0x6872c0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x2f9c]
jmp 0x552c7c
mov esi, dword [ebp - 0x2f74]
test al, 8
je 0x553417
push 0x687390
push esi
lea ecx, [edi + 0x14c0]
call fcn.00513e70
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
jne 0x5573ac
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x687400
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
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 0x552d1e
push 0x645688
call fcn.00545460
push 1
push 0x6874bc
jmp 0x552d2f
push 0x645728
call fcn.00545460
push 1
push 0x6874dc
lea ecx, [ebp - 0x1fc0]
call fcn.005451b0
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fa00
test al, al
je 0x552efc
xor eax, eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x2f70], eax
jne 0x5573ac
lea ecx, [ebp - 0x2e30]
push ecx
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f350
test al, al
je 0x552efc
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2160]
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push str.Debugger
lea ecx, [ebp - 0x2160]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
test al, al
je 0x552ef0
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
jne 0x552ef0
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537580
test al, al
jne 0x552e39
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x552ef0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x64d780
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d780
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x5573ac
mov eax, dword [ebp - 0x2f70]
inc eax
jmp 0x552d62
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 0x552d01
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.00545530
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x2fc8]
xor ecx, ecx
mov dword [ebp - 0x2fc8], 0x687504
mov dword [ebp - 0x2fc4], 0x687520
lea edx, [edi + 0x14c0]
mov dword [ebp - 0x2fc0], 0x687568
mov dword [ebp - 0x2fbc], 0x6875a8
mov dword [ebp - 0x2fb8], 0x687614
mov dword [ebp - 0x2fb4], 0x687638
mov dword [ebp - 0x2fb0], 0x687688
mov dword [ebp - 0x2fac], 0x6876b8
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.00513e70
cmp byte [esi + 4], 0
jne 0x553400
cmp dword [ebp - 0x2f64], 4
lea ecx, [ebp - 0x1fc0]
jae 0x552ff9
push 0x687710
jmp 0x552ffe
push 0x687734
call fcn.00545460
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1fa4]
push 0
push 0x20019
push dword [eax]
call fcn.0053fa00
test al, al
je 0x55337a
lea eax, [ebp - 0x2e30]
mov dword [ebp - 0x2f70], 0
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f350
test al, al
je 0x55337a
mov eax, dword [ebp - 0x2f64]
and eax, 1
mov dword [ebp - 0x2e24], eax
nop word [eax + eax]
test eax, eax
jne 0x5531a5
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 0x61d06c
push dword [eax]
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x61d074
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
je 0x553151
lea eax, [ebp - 0x2040]
push eax
push str.DelegateExecute
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
lea ecx, [ebp - 0x2040]
call fcn.005452f0
test eax, eax
je 0x553151
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67c3f8
lea ecx, [ebp - 0x2040]
call fcn.005450e0
push eax
push 0x67c3e0
lea ecx, [ebp - 0x1ff0]
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x61d074
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
je 0x553285
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 0x67c418
push dword [ebp - 0x2e30]
push 0x61d06c
push dword [eax]
call fcn.00545150
lea eax, [ebp - 0x2040]
push eax
push 0x63d2f8
jmp 0x553209
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x2040]
call fcn.00545460
push 0
push dword [ebp - 0x2e38]
lea ecx, [ebp - 0x2040]
call fcn.005428c0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
test al, al
jne 0x553241
push dword [ebp - 0x2e30]
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1ff0]
push 0x61d06c
push dword [eax]
call fcn.00545150
lea eax, [ebp - 0x2040]
push eax
push 0x61d074
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
lea ecx, [ebp - 0x2040]
call fcn.005452f0
test eax, eax
je 0x553285
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67c3f8
lea ecx, [ebp - 0x2040]
call fcn.005450e0
push eax
push 0x67c3e0
lea ecx, [ebp - 0x1ff0]
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x61d074
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f5a0
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537580
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x55334c
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x64d780
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d780
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x553400
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.0053f350
test al, al
mov eax, dword [ebp - 0x2e24]
jne 0x553060
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 0x552fc4
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.00513e70
push 0
push 0x687760
lea ecx, [ebp - 0x2018]
call fcn.005324b0
lea ecx, [ebp - 0x2188]
mov byte [ebp - 4], 0x1f
call fcn.00545380
mov eax, dword [ebp - 0x2f9c]
jmp 0x55341d
lea ecx, [ebp - 0x2188]
call fcn.00545380
mov byte [ebp - 0x2f65], 2
jmp 0x5572c0
mov esi, dword [ebp - 0x2f88]
test al, 0x10
je 0x553ec3
push 0x68780c
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00513e70
cmp byte [esi + 4], 0
je 0x55344d
mov byte [ebp - 0x2f65], 2
jmp 0x5572c0
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 0x5537e4
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 [0x5fd450]
cmp eax, 0xea
jne 0x5537e4
cmp byte [esi + 4], 0
jne 0x5537e4
mov eax, dword [ebp - 0x2058]
lea ecx, [ebp - 0x2e54]
add eax, 0x400
push eax
mov dword [ebp - 0x2f70], eax
call fcn.00403f90
test eax, eax
je 0x5537e4
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 0x5537e4
mov eax, dword [ebp - 0x2e54]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2028]
mov dword [ebp - 0x2f6c], eax
call fcn.005441e0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2f98]
push 0x687838
call fcn.005450e0
push eax
push 0x6878cc
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
mov ecx, dword [ebp - 0x2028]
mov dword [ebp - 0x2f70], 0
test ecx, ecx
je 0x5537d2
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.00513e70
cmp byte [esi + 4], 0
jne 0x553ef3
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 0x64d0d8
push dword [eax]
push 0x64d0f0
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x64d178
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f5a0
test al, al
je 0x55365e
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
je 0x5536b8
push 0
lea ecx, [ebp - 0x1ff0]
call fcn.00544e20
lea eax, [ebp - 0x1f94]
push eax
push 0x64d178
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f5a0
test al, al
je 0x5536a1
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
je 0x5536b8
lea eax, [ebp - 0x1f94]
push eax
push 0x6287c4
lea ecx, [ebp - 0x1fa4]
call fcn.0053f710
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537580
test al, al
jne 0x5536f2
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x55379e
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1fa0]
push 0x64d780
push dword [eax]
push 0x6878ec
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x553ef3
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 0x5535d7
push 0
push 0x687910
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
add eax, dword [ebp - 0x2f64]
push 0x6879b4
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00513e70
cmp byte [esi + 4], 0
jne 0x553dfa
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 [0x5fd450]
cmp eax, 0xea
jne 0x553b65
cmp byte [esi + 4], 0
jne 0x553b65
mov eax, dword [ebp - 0x2058]
lea ecx, [ebp - 0x2e54]
add eax, 0x400
push eax
mov dword [ebp - 0x2f70], eax
call fcn.00403f90
test eax, eax
je 0x553b65
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 0x553b65
mov eax, dword [ebp - 0x2e54]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2028]
mov dword [ebp - 0x2f6c], eax
call fcn.005441e0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2f98]
push 0x6879f0
call fcn.005450e0
push eax
push 0x687a90
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d06c
push dword [edi + 0x20]
lea ecx, [ebp - 0x1fb0]
call fcn.00545150
mov ecx, dword [ebp - 0x2028]
mov dword [ebp - 0x2f70], 0
test ecx, ecx
je 0x553b53
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.00513e70
cmp byte [esi + 4], 0
jne 0x553dfa
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 0x64d0f0
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
push 0x6287c4
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f5a0
test al, al
je 0x5539e9
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
je 0x553a19
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.00545150
push 0
push 1
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push str.SystemRoot_
lea ecx, [ebp - 0x1f94]
call fcn.00543260
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537580
test al, al
jne 0x553a73
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x553b1f
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1fa0]
push 0x64d780
push dword [eax]
push 0x687ac0
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x553dfa
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 0x553965
push 0
push 0x687ae0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
add eax, dword [ebp - 0x2f64]
push 0x687b94
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00513e70
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x687bd0
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
movsd xmm0, qword [edi + 8]
comisd xmm0, xmmword [0x6e42e8]
jb 0x553e3f
mov dword [ebp - 0x2e34], 0
lea eax, [ebp - 0x2e34]
push eax
push 0x617730
push 1
push 0
push 0x617740
call dword [0x5fdad8]
test eax, eax
jns 0x553c10
mov byte [ebp - 4], 0x24
jmp 0x553e27
mov esi, dword [0x5fd588]
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 [0x5fd578]
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 0x553d13
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x2e34]
test eax, eax
je 0x553d04
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov esi, dword [ebp - 0x2f88]
mov byte [ebp - 4], 0x22
jmp 0x553e5b
mov dword [ebp - 0x2e4c], 0
push 0x61d06c
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 0x553d3f
mov edx, dword [eax]
jmp 0x553d41
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 0x553d83
call fcn.00401c30
mov eax, dword [ebp - 0x2f70]
mov dword [ebp - 0x2fd0], 0
test al, al
je 0x553da6
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x2e4c]
test eax, eax
je 0x553d9d
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x2d
jmp 0x553cf2
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.0054e520
test al, al
jne 0x553e0d
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0x2e4c]
test eax, eax
je 0x553de4
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 0x553dfa
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov eax, dword [ebp - 0x2e24]
test eax, eax
je 0x553f00
jmp 0x553ef9
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x2e4c]
test eax, eax
je 0x553e23
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 0x553e39
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x22
jmp 0x553e5b
lea eax, [esi + 4]
mov ecx, edi
push eax
lea eax, [ebp - 0x2018]
push eax
push dword [ebp - 0x2f7c]
call fcn.0054e110
test al, al
je 0x553dfa
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.00513e70
push 0
push 0x687c70
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x2e24]
test eax, eax
je 0x553ea6
push eax
call dword [0x5fd114]
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x2e54]
test eax, eax
je 0x553ebd
push eax
call fcn.0041e483
add esp, 4
mov eax, dword [ebp - 0x2f9c]
test al, 0x20
je 0x554842
push 0x687d1c
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00513e70
cmp byte [esi + 4], 0
je 0x553f23
mov byte [ebp - 0x2f65], 2
jmp 0x5572c0
mov eax, dword [ebp - 0x2e24]
push eax
call dword [0x5fd114]
mov eax, dword [ebp - 0x2e54]
test eax, eax
je 0x5573ac
push eax
call fcn.0041e483
add esp, 4
mov byte [ebp - 0x2f65], 2
jmp 0x5572c0
push 1
push 0x687d60
lea ecx, [ebp - 0x1fa0]
call fcn.005451b0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
mov eax, dword [ebp - 0x2f8c]
test eax, eax
je 0x553fb8
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 0x664d70
call fcn.005450e0
push eax
push str.HKU_
mov ecx, esi
call fcn.00545150
add edi, 0xc
sub dword [ebp - 0x2f70], 1
jne 0x553f60
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 0x687e30
call fcn.00545460
cmp byte [edi + 0x28], 0
je 0x553ff5
mov eax, dword [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x2f70]
add eax, 0xc
push 0x687ea8
add ecx, eax
call fcn.00545460
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x2164], 0
push 0x687f38
lea ecx, [ebp - 0x216c]
movq qword [ebp - 0x216c], xmm0
call fcn.005454c0
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 0x55446f
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.00513e70
cmp byte [esi + 4], 0
jne 0x554a10
mov eax, dword [ebp - 0x2f78]
cmp eax, dword [ebp - 0x2f8c]
jae 0x5540d1
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 0x687f8c
call fcn.005450e0
push eax
push 0x686980
lea ecx, [ebp - 0x1fc0]
call fcn.00545150
jmp 0x5540ea
lea ecx, [ebp - 0x1fc0]
jne 0x5540e0
push 0x687fa4
jmp 0x5540e5
push 0x687fcc
call fcn.00545460
mov ecx, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0x20019
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fa00
test al, al
je 0x55443d
xor eax, eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x2f70], eax
jne 0x554a10
lea ecx, [ebp - 0x2e30]
push ecx
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f350
test al, al
je 0x55443d
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 0x61d06c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1ff0]
call fcn.00545150
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053fa00
test al, al
je 0x554431
lea eax, [ebp - 0x1f94]
push eax
push 0x654b10
lea ecx, [ebp - 0x1fb4]
call fcn.0053f710
test al, al
je 0x554431
lea ecx, [ebp - 0x1f94]
call fcn.00544e00
test al, al
jne 0x554431
lea eax, [ebp - 0x1fb0]
push eax
push 0x6287f4
lea ecx, [ebp - 0x1fb4]
call fcn.0053f710
test al, al
je 0x554431
lea ecx, [ebp - 0x1fb0]
call fcn.00544e00
test al, al
jne 0x554431
lea eax, [ebp - 0x2170]
push eax
push 0x664ddc
lea ecx, [ebp - 0x1fb4]
call fcn.0053f680
test al, al
je 0x55422f
cmp dword [ebp - 0x2170], 1
je 0x554431
lea eax, [ebp - 0x2024]
push eax
push 0x664dfc
lea ecx, [ebp - 0x1fb4]
call fcn.0053f710
test al, al
je 0x55425d
lea ecx, [ebp - 0x2024]
call fcn.005452f0
test eax, eax
jne 0x554431
lea eax, [ebp - 0x2024]
push eax
push 0x664e18
lea ecx, [ebp - 0x1fb4]
call fcn.0053f710
test al, al
je 0x5542e1
lea ecx, [ebp - 0x2024]
call fcn.005452f0
test eax, eax
je 0x5542e1
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d1a8
lea ecx, [ebp - 0x2024]
call fcn.005450e0
push eax
push 0x61d1a8
lea ecx, [ebp - 0x2024]
call fcn.00545150
push 0
push 1
push 1
push 0
lea ecx, [ebp - 0x2024]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x216c]
call fcn.00543a40
test eax, eax
jne 0x554431
lea eax, [ebp - 0x2024]
push eax
push 0x664ea4
lea ecx, [ebp - 0x1fb4]
call fcn.0053f710
test al, al
je 0x55430b
lea ecx, [ebp - 0x2024]
call fcn.00544e00
test al, al
je 0x55431b
push str.No_publisher
lea ecx, [ebp - 0x2024]
call fcn.00545460
test byte [ebp - 0x2f7c], 2
je 0x554344
push 9
push 1
push 1
push 0
push str.Microsoft
lea ecx, [ebp - 0x2024]
call fcn.00543a40
test eax, eax
jne 0x554431
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537580
test al, al
jne 0x55437e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x554431
push 0
push 0x621884
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x64d780
lea ecx, [ebp - 0x2024]
call fcn.005450e0
push eax
push 0x64d780
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x64d780
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d780
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x554a10
mov eax, dword [ebp - 0x2f70]
inc eax
jmp 0x554118
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 0x554060
push 0
push 0x688000
lea ecx, [ebp - 0x2018]
call fcn.005324b0
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.00513e70
cmp byte [esi + 4], 0
jne 0x554a10
push 0x6880a0
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00513e70
cmp byte [esi + 4], 0
jne 0x554a10
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x6880f0
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 8
push 0x688188
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 0x5547d6
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.00513e70
cmp byte [esi + 4], 0
jne 0x5549f3
mov ecx, dword [ebp - 0x2f64]
movsd xmm0, qword [0x6e42e0]
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 0x5545bc
push 0x655f50
jmp 0x5545c1
push 0x655fb8
call fcn.005450e0
push eax
push str.HKU_
lea ecx, [ebp - 0x1ff0]
call fcn.00545150
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 0x6881d8
call fcn.005450e0
push eax
push 0x686980
lea ecx, [ebp - 0x1fc0]
call fcn.00545150
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fa00
test al, al
je 0x5547a4
xor eax, eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x2f70], eax
jne 0x5549f3
lea ecx, [ebp - 0x2e30]
push ecx
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f2b0
test al, al
je 0x5547a4
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1f94]
call fcn.00545460
push 2
push 2
push 1
push 1
push 0x61e3a8
lea ecx, [ebp - 0x1f94]
call fcn.00543a40
test eax, eax
je 0x554798
movsd xmm0, qword [edi + 8]
comisd xmm0, xmmword [0x6e42f0]
jbe 0x5546bb
push 0
push 0x61d074
push dword [ebp - 0x2e44]
lea ecx, [ebp - 0x1f94]
call fcn.005424f0
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
call dword [0x5fd684]
test eax, eax
jne 0x5546ec
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x554798
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x64d780
lea ecx, [ebp - 0x1fc0]
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x5549f3
mov eax, dword [ebp - 0x2f70]
inc eax
jmp 0x554638
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 0x554560
push 0
push 0x6881f0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
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.00513e70
mov eax, dword [ebp - 0x2e44]
test eax, eax
je 0x554823
push eax
call fcn.00418d50
add esp, 4
lea ecx, [ebp - 0x216c]
mov dword [ebp - 0x2e44], 0
mov byte [ebp - 4], 0x1f
call fcn.00545380
mov eax, dword [ebp - 0x2f9c]
test al, 0x40
je 0x5554ef
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.00545530
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
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 0x6882a8
movq qword [ebp - 0x20a8], xmm0
call fcn.00545470
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x20e4]
xorps xmm0, xmm0
mov dword [ebp - 0x20dc], 0
movq qword [ebp - 0x20e4], xmm0
call fcn.00545530
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.004201e0
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.00513e70
mov eax, dword [ebp - 0x2e24]
test eax, eax
jne 0x554a27
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x688320
push dword [edi + 0x1c]
lea ecx, [ebp - 0x1fb0]
push 0x68837c
call fcn.00545150
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00513e70
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x20a8]
call fcn.005450e0
push eax
push 0x6883ac
push dword [edi + 0x1c]
lea ecx, [ebp - 0x1fa0]
push 0x6883b8
call fcn.00545150
push 0x6883e0
lea ecx, [ebp - 0x1fc0]
call fcn.00545460
push 1
push dword [edi + 0x1c]
lea ecx, [ebp - 0x2088]
call fcn.005451b0
jmp 0x554b66
mov eax, dword [ebp - 0x2e44]
test eax, eax
je 0x554a06
push eax
call fcn.00418d50
add esp, 4
mov dword [ebp - 0x2e44], 0
lea ecx, [ebp - 0x216c]
call fcn.00545380
mov byte [ebp - 0x2f65], 2
jmp 0x5572c0
cmp eax, 1
jne 0x554a90
push 0x688410
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00513e70
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.005450e0
push eax
push 0x688478
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
push 0x6884d8
lea ecx, [ebp - 0x1fc0]
call fcn.00545460
push 0
lea ecx, [edi + 0x1298]
call fcn.004da690
jmp 0x554b5a
cmp eax, 2
jne 0x554af6
push 0x688508
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00513e70
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.005450e0
push eax
push 0x688558
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
push 0x6885a4
lea ecx, [ebp - 0x1fc0]
call fcn.00545460
push 0
lea ecx, [edi + 0x1298]
call fcn.004da320
jmp 0x554b5a
cmp eax, 3
jne 0x554b66
push 0x6885d8
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00513e70
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.005450e0
push eax
push 0x688638
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
push 0x688690
lea ecx, [ebp - 0x1fc0]
call fcn.00545460
push 0
lea ecx, [edi + 0x1298]
call fcn.004da280
push eax
lea ecx, [ebp - 0x2088]
call fcn.00545460
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x5554b0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d1bc
lea ecx, [ebp - 0x2088]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x20e4]
call fcn.00545150
push 1
lea ecx, [ebp - 0x20e4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2538]
call fcn.00401820
test al, al
je 0x554d80
cmp byte [esi + 4], 0
jne 0x5554b0
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 0x61d06c
lea ecx, [ebp - 0x2088]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545150
test byte [ebp - 0x2538], 0x10
lea ecx, [ebp - 0x1f94]
je 0x554c62
push 1
call fcn.005450e0
push eax
mov ecx, edi
call fcn.00462c00
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x5554b0
push 4
push 0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543e70
push 0
push 0
push 0
push 0
push 0
push 0x6886c8
jmp 0x554d18
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
call fcn.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x554d6d
push 4
push 0
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
mov ecx, eax
call fcn.0052fb40
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543e70
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x554d6d
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2024]
call fcn.005450e0
push eax
push 0x64d780
lea eax, [ebp - 0x250c]
push eax
push 0x64d780
lea ecx, [ebp - 0x1fc0]
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x5554b0
lea ecx, [ebp - 0x2538]
call fcn.004017d0
test al, al
jne 0x554bd3
mov eax, dword [ebp - 0x2e24]
test eax, eax
jne 0x554dbf
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x6886e8
push dword [edi + 0x1c]
lea ecx, [ebp - 0x1fa0]
push 0x688720
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
jmp 0x554df2
cmp eax, 1
jne 0x554dcd
push 0
push 0x688780
jmp 0x554de7
cmp eax, 2
jne 0x554ddb
push 0
push 0x688840
jmp 0x554de7
cmp eax, 3
jne 0x554df8
push 0
push 0x6888f0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x2e24]
inc eax
lea ecx, [edi + 0x14c0]
mov dword [ebp - 0x2e24], eax
cmp eax, dword [ebp - 0x2f70]
jl 0x554936
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.00513e70
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x2134], 0
push 0
lea ecx, [edi + 0x1298]
movq qword [ebp - 0x213c], xmm0
call fcn.004da080
push eax
lea ecx, [ebp - 0x213c]
call fcn.005454c0
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.004da460
push eax
lea ecx, [ebp - 0x2130]
call fcn.005454c0
push 0
lea ecx, [edi + 0x1298]
mov byte [ebp - 4], 0x39
call fcn.004da3c0
inc eax
lea ecx, [ebp - 0x213c]
push eax
call fcn.00543d20
push 0
lea ecx, [edi + 0x1298]
call fcn.004da3c0
inc eax
lea ecx, [ebp - 0x2130]
push eax
call fcn.00543d20
cmp dword [ebp - 0x2f8c], 0
mov dword [ebp - 0x2f70], 0
jbe 0x55541d
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.00513e70
cmp byte [esi + 4], 0
jne 0x55549a
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 0x555011
push 0x6889a4
call fcn.005450e0
push eax
push 0x68837c
lea ecx, [ebp - 0x1fb0]
call fcn.00545150
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.005450e0
push eax
push 0x61d06c
mov ecx, esi
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2088]
call fcn.00545150
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.005450e0
push eax
push 0x6889e0
mov ecx, esi
call fcn.005450e0
push eax
push 0x6883b8
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x688a18
jmp 0x5550c4
push 0x688a30
call fcn.005450e0
push eax
push 0x68837c
lea ecx, [ebp - 0x1fb0]
call fcn.00545150
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.005450e0
push eax
push 0x61d06c
mov ecx, esi
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2088]
call fcn.00545150
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.005450e0
push eax
push 0x688a78
mov ecx, esi
call fcn.005450e0
push eax
push 0x6883b8
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x688abc
mov ecx, dword [ebp - 0x2f80]
add ecx, dword [ebp - 0x2030]
call fcn.005450e0
push eax
push 0x686980
lea ecx, [ebp - 0x1fc0]
call fcn.00545150
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00513e70
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
jne 0x55549a
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x55549a
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d1bc
lea ecx, [ebp - 0x2088]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x20e4]
call fcn.00545150
push 1
lea ecx, [ebp - 0x20e4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2538]
call fcn.00401820
test al, al
je 0x55532d
nop dword [eax]
cmp byte [esi + 4], 0
jne 0x55549a
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 0x61d06c
lea ecx, [ebp - 0x2088]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545150
test byte [ebp - 0x2538], 0x10
lea ecx, [ebp - 0x1f94]
je 0x55520f
push 1
call fcn.005450e0
push eax
mov ecx, edi
call fcn.00462c00
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x55549a
push 4
push 0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543e70
push 0
push 0
push 0
push 0
push 0
push 0x6886c8
jmp 0x5552c5
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
call fcn.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x55531a
push 4
push 0
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
mov ecx, eax
call fcn.0052fb40
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543e70
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x55531a
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2024]
call fcn.005450e0
push eax
push 0x64d780
lea eax, [ebp - 0x250c]
push eax
push 0x64d780
lea ecx, [ebp - 0x1fc0]
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x55549a
lea ecx, [ebp - 0x2538]
call fcn.004017d0
test al, al
jne 0x555180
cmp dword [ebp - 0x2f64], 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
jne 0x555396
mov ecx, dword [ebp - 0x2030]
mov esi, dword [ebp - 0x2f80]
push 0x688ae0
lea ecx, [ecx + esi]
call fcn.005450e0
push eax
push 0x688720
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
mov eax, dword [ebp - 0x2f64]
inc eax
mov dword [ebp - 0x2f64], eax
jmp 0x554f36
mov ecx, dword [ebp - 0x2f80]
add ecx, dword [ebp - 0x2030]
push 0x688b48
call fcn.005450e0
push eax
push 0x688720
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
mov eax, dword [ebp - 0x2f64]
inc eax
mov dword [ebp - 0x2f64], eax
cmp eax, 2
jb 0x554f30
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 0x554f02
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.00513e70
lea ecx, [ebp - 0x2130]
call fcn.00545380
lea ecx, [ebp - 0x213c]
call fcn.00545380
mov eax, dword [ebp - 0x22e8]
cmp eax, 0xffffffff
je 0x55546d
push eax
call dword [0x5fd4a8]
lea ecx, [ebp - 0x20e4]
call fcn.00545380
lea ecx, [ebp - 0x20a8]
call fcn.00545380
lea ecx, [ebp - 0x2088]
mov byte [ebp - 4], 0x1f
call fcn.00545380
mov eax, dword [ebp - 0x2f9c]
jmp 0x5554f5
lea ecx, [ebp - 0x2130]
call fcn.00545380
lea ecx, [ebp - 0x213c]
call fcn.00545380
mov eax, dword [ebp - 0x22e8]
cmp eax, 0xffffffff
je 0x5554c2
push eax
call dword [0x5fd4a8]
lea ecx, [ebp - 0x20e4]
call fcn.00545380
lea ecx, [ebp - 0x20a8]
call fcn.00545380
lea ecx, [ebp - 0x2088]
call fcn.00545380
mov byte [ebp - 0x2f65], 2
jmp 0x5572c0
mov esi, dword [ebp - 0x2f74]
test al, al
jns 0x555c8d
push 0x688bbc
push esi
lea ecx, [edi + 0x14c0]
call fcn.00513e70
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x688bf8
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
xorps xmm0, xmm0
lea ecx, [ebp - 0x2100]
movups xmmword [ebp - 0x2100], xmm0
movq qword [ebp - 0x20f0], xmm0
call fcn.00542300
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.00513e70
cmp byte [esi + 4], 0
jne 0x55580e
mov eax, dword [ebp - 0x2f78]
test eax, eax
jne 0x5555f3
lea eax, [ebp - 0x1fb0]
push eax
push 0x66a274
push 0x6455f8
lea ecx, [ebp - 0x1fa4]
call fcn.0053f5a0
push 8
lea ecx, [ebp - 0x1fb0]
call fcn.005430e0
push 0
push 0x61e3a4
jmp 0x555645
cmp eax, 1
jne 0x5555ff
push 0x66a298
jmp 0x555610
cmp eax, 2
jne 0x55560b
push 0x66a2c8
jmp 0x555610
push 0x66a2f4
lea ecx, [ebp - 0x1f94]
call fcn.00545460
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x66a318
lea ecx, [ebp - 0x1fa4]
call fcn.0053f5a0
push 0
push 0x621b08
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2100]
call fcn.00542050
lea ecx, [ebp - 0x2100]
mov dword [ebp - 0x2f64], 0
call fcn.005421f0
test eax, eax
je 0x55584a
mov ecx, dword [ebp - 0x2f64]
nop
push 3
push 1
push ecx
lea ecx, [ebp - 0x2100]
call fcn.00542200
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005451b0
mov ecx, eax
call fcn.005430e0
mov ecx, eax
call fcn.00544e00
test al, al
jne 0x55582b
push 0x621d94
lea ecx, [ebp - 0x1f94]
call fcn.00545410
test al, al
jne 0x55582b
push 0
push 1
push 1
push 0
push str..dll
lea ecx, [ebp - 0x1f94]
call fcn.00543a40
lea ecx, [ebp - 0x1f94]
mov esi, eax
call fcn.005452f0
sub eax, 3
cmp esi, eax
je 0x55571c
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.00543750
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537580
test al, al
jne 0x555756
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67bcf4
lea ecx, [ebp - 0x1f94]
call fcn.005434e0
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x555825
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x64d780
push dword [ebp - 0x2f64]
lea ecx, [ebp - 0x2100]
call fcn.00542200
push eax
push 0x688c90
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
je 0x55582b
lea ecx, [ebp - 0x2100]
call fcn.00542260
mov byte [ebp - 0x2f65], 2
jmp 0x5572c0
mov esi, dword [ebp - 0x2f88]
inc dword [ebp - 0x2f64]
lea ecx, [ebp - 0x2100]
call fcn.005421f0
mov ecx, dword [ebp - 0x2f64]
cmp ecx, eax
jb 0x555680
mov eax, dword [ebp - 0x2f78]
mov edx, dword [ebp - 0x2f6c]
inc eax
mov dword [ebp - 0x2f78], eax
cmp eax, 4
jb 0x555593
push 0
push 0x688cc0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
add eax, dword [ebp - 0x2f6c]
push 0x688d68
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00513e70
push 0
push 0x688da0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6566b8
push dword [edi + 0x24]
lea ecx, [ebp - 0x1fb0]
call fcn.00545150
xorps xmm0, xmm0
lea ecx, [ebp - 0x1fb0]
push 0
push 0
movups xmmword [ebp - 0x2250], xmm0
movups xmmword [ebp - 0x2240], xmm0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2250]
call fcn.00533440
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 0x688e34
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.00532c30
test eax, eax
je 0x555c0b
push 0
push 0x621884
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2100]
call fcn.00542050
mov ecx, eax
call fcn.005421f0
test eax, eax
je 0x555c0b
lea ecx, [ebp - 0x2100]
mov dword [ebp - 0x2f64], 0
call fcn.005421f0
test eax, eax
je 0x555c0b
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.005421f0
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.00513e70
cmp byte [esi + 4], 0
jne 0x556313
push dword [ebp - 0x2f64]
lea ecx, [ebp - 0x2100]
call fcn.00542200
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545460
push 3
lea ecx, [ebp - 0x1fb0]
call fcn.005430e0
lea ecx, [ebp - 0x1fb0]
call fcn.00544e00
test al, al
jne 0x555be2
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.00545390
cmp word [eax], 0x23
je 0x555be2
push 0
push 8
lea eax, [ebp - 0x2070]
push eax
push dword [ebp - 0x2e40]
lea ecx, [ebp - 0x1fb0]
call fcn.005426a0
lea ecx, [ebp - 0x1f94]
call fcn.00545350
mov eax, dword [ebp - 0x2070]
cmp eax, 3
jae 0x555aac
push 0x688e50
lea ecx, [ebp - 0x1fcc]
call fcn.00545460
jmp 0x555b79
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.0043b2d0
cmp al, 1
jne 0x555b0b
mov eax, dword [ebp - 0x2070]
mov ecx, 3
cmp eax, 2
push 0x67c684
cmovbe eax, ecx
mov ecx, dword [ebp - 0x2068]
mov dword [ebp - 0x2070], eax
lea ecx, [ecx + 0x18]
call fcn.00545410
test al, al
jne 0x555be2
push 0x67c5f0
jmp 0x555b36
test al, al
jne 0x555b21
push 0x67c5b4
lea ecx, [ebp - 0x1fcc]
call fcn.00545460
jmp 0x555b4d
mov ecx, dword [ebp - 0x2f78]
mov dword [ebp - 0x2f90], ecx
cmp al, 2
jne 0x555b4d
push 0x67c638
lea ecx, [ebp - 0x1fcc]
call fcn.00545460
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.00545430
push 0
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
push 0x64d780
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x64d780
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x688e90
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x556313
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x2100]
inc dword [ebp - 0x2f64]
add dword [ebp - 0x2e24], eax
call fcn.005421f0
cmp dword [ebp - 0x2f64], eax
jb 0x5559d0
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.00513e70
push 0
push 0x688ec0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x2e40]
test eax, eax
je 0x555c52
push eax
call fcn.00418d50
add esp, 4
mov ecx, dword [ebp - 0x2068]
mov dword [ebp - 0x2e40], 0
test ecx, ecx
je 0x555c6d
push 3
call fcn.00401e60
lea ecx, [ebp - 0x2250]
call fcn.00401e00
lea ecx, [ebp - 0x2100]
mov byte [ebp - 4], 0x1f
call fcn.00542260
mov eax, dword [ebp - 0x2f9c]
test eax, 0x100
je 0x555ff5
push 1
mov dword [ebp - 0x2ec8], edi
lea ecx, [ebp - 0x2ec4]
push dword [edi + 0x1c]
call fcn.005454c0
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.004201e0
xorps xmm0, xmm0
mov dword [ebp - 0x2e80], 0
add esp, 0xc
movq qword [ebp - 0x2e78], xmm0
mov dword [ebp - 0x2e70], 0xffffffff
push 0x6812f4
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.00404390
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x2e64]
test eax, eax
je 0x555fe6
cmp dword [ebp - 0x2e60], 0
je 0x555fdb
mov eax, dword [ebp - 0x2f7c]
mov ecx, eax
and ecx, 8
or ecx, 2
mov dword [ebp - 0x2eb4], ecx
test al, 2
jne 0x555d70
or ecx, 0x10
mov dword [ebp - 0x2eb4], ecx
test al, 0x10
je 0x555d7d
or ecx, 4
mov dword [ebp - 0x2eb4], ecx
push 8
push 0x681310
lea ecx, [ebp - 0x1fb0]
call fcn.00542970
mov ecx, dword [ebp - 0x2eb0]
mov esi, eax
test ecx, ecx
je 0x555da4
push ecx
call fcn.00418d50
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.00403f90
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea eax, [ebp - 0x2278]
push dword [ebp - 0x2f98]
lea ecx, [ebp - 0x1fa0]
mov dword [ebp - 0x2e74], eax
push 0x688f70
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 0x681480
push 0xffffffffffffffb0
lea ecx, [edi + 0x14c0]
call fcn.00513e70
push 0
push 0
lea eax, [ebp - 0x2ec8]
mov dword [ebp - 0x2e58], 0
push eax
push 0x4689c0
push 0
push 0
call dword [0x5fd390]
mov dword [ebp - 0x2e58], eax
test eax, eax
jne 0x555ea0
or eax, 0xffffffff
mov dword [ebp - 0x2e58], eax
xor edx, edx
mov byte [ebp - 4], 0x40
mov ecx, eax
call fcn.00529eb0
test al, al
je 0x555ef3
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 [0x5fd45c]
mov ecx, dword [ebp - 0x2e58]
xor edx, edx
call fcn.00529eb0
test al, al
jne 0x555ec0
mov edi, dword [ebp - 0x2fa0]
cmp byte [ebp - 0x2eb8], 0
mov ecx, 0x689060
mov eax, 0x689028
cmove eax, ecx
lea ecx, [ebp - 0x1fb0]
push eax
call fcn.00545460
push fcn.00545380
push fcn.00545530
push 2
push 0xc
lea eax, [ebp - 0x48]
push eax
call fcn.0041eac1
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x48]
push dword [ebp - 0x2e9c]
push dword [ebp - 0x2ea0]
call fcn.005444d0
push dword [ebp - 0x2e94]
lea ecx, [ebp - 0x3c]
push dword [ebp - 0x2e98]
call fcn.005444d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6890b0
lea ecx, [ebp - 0x3c]
call fcn.005450e0
push eax
push 0x689108
lea ecx, [ebp - 0x48]
call fcn.005450e0
push eax
push 0x621884
lea ecx, [ebp - 0x1fb0]
call fcn.00543750
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 0
push 0x689140
lea ecx, [ebp - 0x2018]
call fcn.005324b0
push fcn.00545380
push 2
push 0xc
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x40
push eax
call fcn.0041e718
lea ecx, [ebp - 0x2e58]
call fcn.004015f0
mov eax, dword [ebp - 0x2e64]
test eax, eax
je 0x555fe6
push eax
call dword [0x5fd2f4]
lea ecx, [ebp - 0x2ec8]
mov byte [ebp - 4], 0x1f
call fcn.00404270
mov eax, dword [ebp - 0x2f9c]
test eax, 0x200
je 0x55638e
lea ecx, [ebp - 0x2f50]
call fcn.004042c0
mov eax, dword [ebp - 0x2f7c]
lea ecx, [edi + 0x14c0]
push 0x6891e8
mov byte [ebp - 4], 0x42
push 0xffffffffffffffb0
mov dword [ebp - 0x2f50], eax
call fcn.00513e70
mov esi, dword [ebp - 0x2f88]
mov ecx, edi
lea eax, [esi + 4]
push eax
push dword [edi + 0x1c]
call fcn.0054d900
mov dword [ebp - 0x2f48], eax
mov dword [ebp - 0x2f44], edx
cmp eax, 0xffffffff
jne 0x556060
cmp edx, eax
je 0x5562fc
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x689248
push 0x6892cc
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
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 [0x5fd2d8]
lea ecx, [ebp - 0x2230]
call fcn.00533510
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 0x68930c
mov dword [ebp - 0x2f14], eax
call fcn.005450e0
push eax
lea ecx, [ebp - 0x210c]
call fcn.00545470
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.005450e0
push eax
lea ecx, [ebp - 0x21d8]
call fcn.00533440
push dword [ebp - 0x2fa4]
lea eax, [ebp - 0x21d8]
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x2f0c]
mov dword [ebp - 0x2f10], eax
call fcn.00404210
push 0x689340
push 0
lea ecx, [edi + 0x14c0]
call fcn.00513e70
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.0054dc50
push 0
push 0x689390
lea ecx, [ebp - 0x2018]
mov byte [ebp - 0x2f65], al
call fcn.005324b0
push 0
lea ecx, [ebp - 0x21d8]
call fcn.00532370
push 0
push 0x20
lea ecx, [ebp - 0x210c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x21d8]
call fcn.00532df0
test eax, eax
je 0x5562b3
push 0
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x21d8]
call fcn.00532c30
cmp eax, 2
jbe 0x5562b3
cmp dword [ebp - 0x2f48], 0xffffffff
jne 0x556254
cmp dword [ebp - 0x2f44], 0xffffffff
je 0x5562e6
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x689440
push 0x6894b0
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 0
push 0x689500
lea ecx, [ebp - 0x2018]
call fcn.005324b0
push 0
lea ecx, [ebp - 0x21d8]
call fcn.00532370
push 2
lea ecx, [ebp - 0x210c]
call fcn.005450e0
push eax
lea ecx, [edi + 0x1298]
call fcn.004d5430
cmp byte [ebp - 0x2f65], 0
jne 0x556363
lea ecx, [ebp - 0x21d8]
call fcn.00401e00
lea ecx, [ebp - 0x210c]
call fcn.00545380
lea ecx, [ebp - 0x2f50]
call fcn.00404300
mov byte [ebp - 0x2f65], 2
jmp 0x5572c0
mov eax, dword [ebp - 0x2e40]
test eax, eax
je 0x556326
push eax
call fcn.00418d50
add esp, 4
mov ecx, dword [ebp - 0x2068]
mov dword [ebp - 0x2e40], 0
test ecx, ecx
je 0x556341
push 3
call fcn.00401e60
lea ecx, [ebp - 0x2250]
call fcn.00401e00
lea ecx, [ebp - 0x2100]
call fcn.00542260
mov byte [ebp - 0x2f65], 2
jmp 0x5572c0
lea ecx, [ebp - 0x21d8]
call fcn.00401e00
lea ecx, [ebp - 0x210c]
call fcn.00545380
lea ecx, [ebp - 0x2f50]
mov byte [ebp - 4], 0x1f
call fcn.00404300
mov eax, dword [ebp - 0x2f9c]
test eax, 0x400
je 0x5572b9
mov ecx, dword [ebp - 0x2fcc]
call fcn.00541c20
cmp eax, 9
jle 0x5572b9
xorps xmm0, xmm0
mov dword [ebp - 0x20ac], 0
lea ecx, [ebp - 0x20b4]
movq qword [ebp - 0x20b4], xmm0
call fcn.00545530
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x209c]
xorps xmm0, xmm0
mov dword [ebp - 0x2094], 0
movq qword [ebp - 0x209c], xmm0
call fcn.00545530
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x20d8]
xorps xmm0, xmm0
mov dword [ebp - 0x20d0], 0
movq qword [ebp - 0x20d8], xmm0
call fcn.00545530
lea ecx, [ebp - 0x1fc0]
mov byte [ebp - 4], 0x47
call fcn.00545350
push 0
push 0x621884
push dword [ebp - 0x2fcc]
xorps xmm0, xmm0
lea ecx, [ebp - 0x20cc]
movups xmmword [ebp - 0x20cc], xmm0
movq qword [ebp - 0x20bc], xmm0
call fcn.00542280
lea ecx, [ebp - 0x20cc]
mov byte [ebp - 4], 0x48
call fcn.005421f0
cmp eax, 1
jbe 0x55728d
lea ecx, [ebp - 0x20cc]
call fcn.005421f0
test eax, eax
je 0x55728d
xor esi, esi
xor edi, edi
nop dword [eax]
push esi
lea ecx, [ebp - 0x20cc]
call fcn.00542200
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545460
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
test eax, eax
je 0x55651c
push 3
lea ecx, [ebp - 0x1fb0]
call fcn.005430e0
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.00545390
cmp word [eax], 0x3c
jne 0x5564fd
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
dec eax
lea ecx, [ebp - 0x1fb0]
push eax
call fcn.00545390
cmp word [eax], 0x3e
jne 0x5564fd
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x1fc0]
call fcn.00545430
jmp 0x55651c
lea ecx, [ebp - 0x1fc0]
call fcn.005452f0
test eax, eax
je 0x55651c
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
test eax, eax
je 0x55651c
inc edi
lea ecx, [ebp - 0x20cc]
inc esi
call fcn.005421f0
cmp esi, eax
jb 0x556480
mov esi, dword [ebp - 0x2f88]
test edi, edi
mov edi, dword [ebp - 0x2fa0]
je 0x55728d
push 0x6895b0
push 0
lea ecx, [edi + 0x14c0]
call fcn.00513e70
lea ecx, [ebp - 0x20cc]
mov dword [ebp - 0x2f6c], 0
call fcn.005421f0
test eax, eax
je 0x55727b
mov dword [ebp - 0x2e24], 0
nop dword [eax]
lea eax, [ebp - 0x1fc0]
push eax
lea ecx, [ebp - 0x20b4]
call fcn.00545430
push dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x20cc]
call fcn.00542200
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545460
push 3
lea ecx, [ebp - 0x1fb0]
call fcn.005430e0
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
test eax, eax
je 0x556639
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.00545390
cmp word [eax], 0x3c
jne 0x556639
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
dec eax
lea ecx, [ebp - 0x1fb0]
push eax
call fcn.00545390
cmp word [eax], 0x3e
jne 0x556639
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x1fc0]
call fcn.00545430
push 0
push 1
push 1
push 0
lea ecx, [ebp - 0x1fc0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00543a40
mov dword [ebp - 0x2f64], eax
jmp 0x556643
mov dword [ebp - 0x2f64], 0
push 0x689608
lea ecx, [ebp - 0x1fc0]
call fcn.005453d0
test al, al
je 0x556664
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.00544b70
push 0x689608
lea ecx, [ebp - 0x1fc0]
call fcn.00545410
test al, al
je 0x5569c1
cmp dword [ebp - 0x2f64], 0
je 0x55669c
push 0
push 0x689620
lea ecx, [ebp - 0x2018]
call fcn.005324b0
jmp 0x557069
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
cmp eax, 3
jle 0x557069
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545430
push 1
lea ecx, [ebp - 0x1f94]
call fcn.00544e90
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x689648
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x68966c
lea ecx, [ebp - 0x1f94]
call fcn.00545150
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x20cc]
call fcn.005421f0
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513e70
cmp byte [esi + 4], 0
jne 0x557380
push 0
push 0
push 0
push 0
push 0
push 0
push 0x68968c
lea ecx, [edi + 0x14c]
call fcn.005450e0
push eax
push 0x622a60
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x6896a8
push dword [edi + 0x24]
lea ecx, [ebp - 0x1f94]
call fcn.00545150
push 0
push 0
mov dword [ebp - 0x2e3c], 0
lea ecx, [ebp - 0x1f94]
push dword [edi + 0x24]
call fcn.005450e0
mov edx, eax
xor ecx, ecx
call fcn.005317a0
mov dword [ebp - 0x2e3c], eax
mov ecx, eax
test eax, eax
jne 0x5567b8
or eax, 0xffffffff
mov dword [ebp - 0x2e3c], eax
or ecx, eax
mov byte [ebp - 4], 0x49
cmp ecx, 0xffffffff
je 0x556968
test ecx, ecx
je 0x556968
xor edx, edx
mov ecx, eax
call fcn.00529eb0
test al, al
je 0x556803
nop word [eax + eax]
cmp byte [esi + 4], 0
jne 0x557356
push 5
call dword [0x5fd45c]
mov ecx, dword [ebp - 0x2e3c]
xor edx, edx
call fcn.00529eb0
test al, al
jne 0x5567e0
lea eax, [ebp - 0x20e8]
mov dword [ebp - 0x20e8], 0
push eax
push dword [ebp - 0x2e3c]
call dword [0x5fd3f4]
cmp dword [ebp - 0x20e8], 0
jne 0x556968
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6896cc
lea ecx, [edi + 0x14c]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545150
xorps xmm0, xmm0
lea ecx, [ebp - 0x1f94]
push 0
push 0x20
movups xmmword [ebp - 0x2270], xmm0
movups xmmword [ebp - 0x2260], xmm0
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2270]
call fcn.00533440
push 0
lea eax, [ebp - 0x1f94]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [ebp - 0x2270]
call fcn.00532c30
push 0
lea ecx, [ebp - 0x2270]
call fcn.00532370
push 2
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
lea ecx, [edi + 0x1298]
call fcn.004d5430
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6883ac
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x6896e0
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 8
push 0
push 0x61d074
push 0x689720
lea ecx, [ebp - 0x1f94]
call fcn.00542650
lea eax, [ebp - 0x1f94]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
push 0
push 0x621884
lea ecx, [ebp - 0x2018]
call fcn.005324b0
lea ecx, [ebp - 0x2270]
call fcn.00401e00
lea ecx, [ebp - 0x2e3c]
mov byte [ebp - 4], 0x48
call fcn.004015f0
jmp 0x557069
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x689748
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x689798
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
lea ecx, [ebp - 0x2e3c]
mov byte [ebp - 4], 0x48
call fcn.004015f0
jmp 0x557069
push 0x6897a8
lea ecx, [ebp - 0x1fc0]
call fcn.00545410
test al, al
je 0x556d83
cmp dword [ebp - 0x2f64], 0
je 0x556a2a
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x6897b8
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
jmp 0x557069
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
cmp eax, 1
jle 0x557069
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x655b94
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x689844
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea ecx, [ebp - 0x1fa0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x20cc]
call fcn.005421f0
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513e70
cmp byte [esi + 4], 0
jne 0x557380
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x689874
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x68987c
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
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.00545500
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d1bc
push 0x5c
lea ecx, [ebp - 0x2148]
mov byte [ebp - 4], 0x4b
call fcn.00543090
mov ecx, eax
call fcn.00543030
mov ecx, eax
call fcn.00543750
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.004201e0
add esp, 0xc
push 1
lea ecx, [ebp - 0x2148]
mov byte [ebp - 4], 0x4c
call fcn.005450e0
push eax
lea ecx, [ebp - 0x29f8]
call fcn.00401820
test al, al
je 0x556d4b
nop
cmp byte [esi + 4], 0
jne 0x557363
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 0x61d06c
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545150
test byte [ebp - 0x29f8], 0x10
lea ecx, [ebp - 0x1f94]
je 0x556c33
push 1
call fcn.005450e0
push eax
mov ecx, edi
call fcn.00462c00
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x557363
push 4
push 0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543e70
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6886c8
jmp 0x556ced
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
call fcn.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x556d36
push 4
push 0
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
mov ecx, eax
call fcn.0052fb40
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543e70
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
test al, al
je 0x556d36
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2024]
call fcn.005450e0
push eax
push 0x64d780
lea ecx, [ebp - 0x1f94]
call fcn.005450e0
push eax
push 0x6898a8
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
cmp byte [esi + 4], 0
jne 0x557363
lea ecx, [ebp - 0x29f8]
call fcn.004017d0
test al, al
jne 0x556ba0
jmp 0x556d5d
push 0
push 0x6898d0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
mov eax, dword [ebp - 0x27a8]
cmp eax, 0xffffffff
je 0x556d6f
push eax
call dword [0x5fd4a8]
lea ecx, [ebp - 0x2148]
mov byte [ebp - 4], 0x48
call fcn.00545380
jmp 0x557069
push 0x689930
lea ecx, [ebp - 0x1fc0]
call fcn.00545410
test al, al
je 0x556f36
cmp dword [ebp - 0x2f64], 0
je 0x556dec
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621884
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x689940
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
jmp 0x557069
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
cmp eax, 3
jle 0x557069
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x62e448
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x6899c0
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea ecx, [ebp - 0x1fa0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x20cc]
call fcn.005421f0
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513e70
cmp byte [esi + 4], 0
jne 0x557380
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.005450e0
push eax
mov ecx, edi
call fcn.0054ed70
push 4
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
mov ecx, eax
call fcn.0052fb40
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00543e70
push 0
push 0
push 0
push 0
push 0x621884
lea ecx, [ebp - 0x1fe4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x2024]
call fcn.005450e0
push eax
push 0x64d780
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
push 0x6898a8
lea ecx, [ebp - 0x1fa0]
call fcn.00545150
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
jmp 0x557069
push 0x6899d8
lea ecx, [ebp - 0x1fc0]
call fcn.00545410
test al, al
je 0x557069
cmp dword [ebp - 0x2f64], 0
je 0x556ffa
push 1
push 0x6899f0
lea ecx, [ebp - 0x1fa0]
call fcn.005451b0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
lea ecx, [ebp - 0x1fc0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x20b4]
call fcn.005453d0
test al, al
je 0x557069
push 1
push 0x626bc0
lea ecx, [ebp - 0x1fa0]
call fcn.005451b0
lea ecx, [ebp - 0x1fa0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x20cc]
call fcn.005421f0
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513e70
lea ecx, [ebp - 0x209c]
call fcn.00545350
lea ecx, [ebp - 0x20d8]
call fcn.00545350
jmp 0x557069
lea ecx, [ebp - 0x1fb0]
call fcn.005452f0
cmp eax, 3
jle 0x557069
push 0
lea ecx, [ebp - 0x20cc]
call fcn.005421f0
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00513e70
cmp byte [esi + 4], 0
jne 0x557380
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621b08
lea ecx, [ebp - 0x1fb0]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x209c]
call fcn.00543750
lea ecx, [ebp - 0x209c]
call fcn.005452f0
cmp eax, 4
jle 0x557257
push 0x6899d8
lea ecx, [ebp - 0x20b4]
call fcn.00545410
test al, al
je 0x557257
lea ecx, [ebp - 0x20b4]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x1fc0]
call fcn.005453d0
test al, al
jne 0x5570c8
lea ecx, [ebp - 0x20cc]
call fcn.005421f0
dec eax
cmp dword [ebp - 0x2f6c], eax
jne 0x557257
mov ecx, edi
call fcn.0045d770
or eax, 8
lea ecx, [ebp - 0x20d8]
push eax
push 0
push 0
push 0xffff
call fcn.005448f0
push eax
lea ecx, [ebp - 0x209c]
call fcn.005450e0
mov edx, 0x65c038
mov ecx, eax
call fcn.00507420
xorps xmm0, xmm0
lea ecx, [ebp - 0x21f0]
movups xmmword [ebp - 0x21f0], xmm0
movq qword [ebp - 0x21e0], xmm0
call fcn.00542300
xorps xmm0, xmm0
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x21b8]
movq qword [ebp - 0x21a8], xmm0
movups xmmword [ebp - 0x21b8], xmm0
call fcn.00542300
push 0
push 0x621b08
lea ecx, [ebp - 0x209c]
mov byte [ebp - 4], 0x4e
call fcn.005450e0
push eax
lea ecx, [ebp - 0x21f0]
call fcn.00542050
push 0
push 0x621b08
lea ecx, [ebp - 0x20d8]
call fcn.005450e0
push eax
lea ecx, [ebp - 0x21b8]
call fcn.00542050
lea ecx, [ebp - 0x21f0]
call fcn.005421f0
lea ecx, [ebp - 0x21b8]
mov dword [ebp - 0x2f64], eax
call fcn.005421f0
cmp eax, dword [ebp - 0x2f64]
jae 0x5571b4
lea ecx, [ebp - 0x21b8]
call fcn.005421f0
mov dword [ebp - 0x2f64], eax
jmp 0x5571ba
mov eax, dword [ebp - 0x2f64]
mov dword [ebp - 0x2fa4], 0
test eax, eax
je 0x55723d
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 0x621884
push esi
lea ecx, [ebp - 0x21b8]
call fcn.00542200
push eax
push 0x64d780
push esi
lea ecx, [ebp - 0x21f0]
call fcn.00542200
push eax
push 0x689a8c
lea ecx, [ebp - 0x1f94]
call fcn.00545150
lea eax, [ebp - 0x1f94]
push eax
lea ecx, [ebp - 0x2018]
call fcn.005326d0
inc esi
cmp esi, edi
jb 0x5571d8
mov edi, dword [ebp - 0x2fa0]
mov esi, dword [ebp - 0x2f88]
lea ecx, [ebp - 0x21b8]
call fcn.00542260
lea ecx, [ebp - 0x21f0]
mov byte [ebp - 4], 0x48
call fcn.00542260
inc dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x20cc]
add dword [ebp - 0x2e24], 0x64
call fcn.005421f0
cmp dword [ebp - 0x2f6c], eax
jb 0x556580
push 0
push 0x689ab0
lea ecx, [ebp - 0x2018]
call fcn.005324b0
lea ecx, [ebp - 0x20cc]
call fcn.00542260
lea ecx, [ebp - 0x20d8]
call fcn.00545380
lea ecx, [ebp - 0x209c]
call fcn.00545380
lea ecx, [ebp - 0x20b4]
call fcn.00545380
mov byte [ebp - 0x2f65], 1
mov eax, dword [ebp - 0x2e38]
test eax, eax
je 0x5572d3
push eax
call fcn.00418d50
add esp, 4
lea ecx, [ebp - 0x2160]
mov dword [ebp - 0x2e38], 0
call fcn.00545380
lea ecx, [ebp - 0x2040]
call fcn.00545380
lea ecx, [ebp - 0x207c]
call fcn.00545380
lea ecx, [ebp - 0x2e30]
call fcn.0053fa80
mov ecx, dword [ebp - 0x1ff8]
test ecx, ecx
je 0x55731a
push 3
call fcn.00401e60
mov ecx, dword [ebp - 0x2090]
test ecx, ecx
je 0x55732b
push 3
call fcn.00401e60
mov ecx, dword [ebp - 0x2054]
test ecx, ecx
je 0x55733c
push 3
call fcn.00401e60
mov ecx, dword [ebp - 0x2030]
test ecx, ecx
je 0x550a33
push 3
call fcn.00401e60
jmp 0x550a33
lea ecx, [ebp - 0x2e3c]
call fcn.004015f0
jmp 0x557380
mov eax, dword [ebp - 0x27a8]
cmp eax, 0xffffffff
je 0x557375
push eax
call dword [0x5fd4a8]
lea ecx, [ebp - 0x2148]
call fcn.00545380
lea ecx, [ebp - 0x20cc]
call fcn.00542260
lea ecx, [ebp - 0x20d8]
call fcn.00545380
lea ecx, [ebp - 0x209c]
call fcn.00545380
lea ecx, [ebp - 0x20b4]
call fcn.00545380
mov byte [ebp - 0x2f65], 2
jmp 0x5572c0