Function at 0x54f3a0
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 0x5f699f
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x3028
call fcn.0041ed70
mov eax, dword [0x704200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x2fa0], edi
mov esi, dword [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x2f88], esi
call fcn.0053cd10
test eax, eax
je 0x54f40a
push eax
call fcn.0041e473
add esp, 4
mov eax, dword [esi + 0xc]
xorps xmm0, xmm0
mov ecx, dword [esi + 8]
mov dword [ebp - 0x2fa4], eax
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x2fcc], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x2f9c], eax
mov eax, dword [esi + 0x18]
push 1
mov dword [ebp - 0x2f70], ecx
mov dword [ebp - 0x2f7c], eax
mov eax, dword [esi + 0x1c]
push ecx
lea ecx, [ebp - 0x2154]
mov dword [ebp - 0x2fd4], eax
movq qword [ebp - 0x2154], xmm0
mov dword [ebp - 0x214c], 0
call fcn.005458d0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x1fa0]
xorps xmm0, xmm0
mov dword [ebp - 0x1f98], 0
movq qword [ebp - 0x1fa0], xmm0
call fcn.00545940
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1fb0]
xorps xmm0, xmm0
mov dword [ebp - 0x1fa8], 0
movq qword [ebp - 0x1fb0], xmm0
call fcn.00545940
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1f94]
xorps xmm0, xmm0
mov dword [ebp - 0x1f8c], 0
movq qword [ebp - 0x1f94], xmm0
call fcn.00545940
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x2024]
xorps xmm0, xmm0
mov dword [ebp - 0x201c], 0
movq qword [ebp - 0x2024], xmm0
call fcn.00545940
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1ff0]
xorps xmm0, xmm0
mov dword [ebp - 0x1fe8], 0
movq qword [ebp - 0x1ff0], xmm0
call fcn.00545940
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1fc0]
xorps xmm0, xmm0
mov dword [ebp - 0x1fb8], 0
movq qword [ebp - 0x1fc0], xmm0
call fcn.00545940
lea ecx, [ebp - 0x2154]
mov byte [ebp - 4], 6
call fcn.00545700
mov ecx, eax
cmp ecx, 7
jl 0x54f570
mov eax, dword [ebp - 0x2f70]
add eax, 0xfffffff8
push 0
lea edx, [eax + ecx*2]
mov ecx, 0x65f16c
call fcn.00541eb0
test eax, eax
je 0x54f596
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f16c
lea ecx, [ebp - 0x2154]
call fcn.00543b40
xorps xmm0, xmm0
lea ecx, [ebp - 0x2154]
push 0
push 0x2a
movups xmmword [ebp - 0x2018], xmm0
movups xmmword [ebp - 0x2008], xmm0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2018]
call fcn.005337e0
lea ecx, [ebp - 0x2018]
mov byte [ebp - 4], 7
call fcn.005336e0
test eax, eax
jne 0x54f5e0
mov byte [ebp - 0x2f65], al
jmp 0x550e96
push 0x685038
push 0
lea ecx, [edi + 0x14c0]
call fcn.00514200
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x685070
lea ecx, [edi + 0x140c]
call fcn.005454f0
push eax
push 0x6850b4
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov ecx, edi
call fcn.004492a0
test al, al
je 0x54f7e7
push 0
push 0x6850f0
lea ecx, [ebp - 0x2018]
call fcn.00532850
xorps xmm0, xmm0
mov dword [ebp - 0x2174], 0
lea ecx, [ebp - 0x217c]
movq qword [ebp - 0x217c], xmm0
call fcn.00545940
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x2118]
xorps xmm0, xmm0
mov dword [ebp - 0x2110], 0
movq qword [ebp - 0x2118], xmm0
call fcn.00545940
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x2124]
xorps xmm0, xmm0
mov dword [ebp - 0x211c], 0
movq qword [ebp - 0x2124], xmm0
call fcn.00545940
push 0
push 0
push 0x9470
lea ecx, [ebp - 0x217c]
mov byte [ebp - 4], 0xa
call fcn.00544ce0
lea ecx, [edi + 0x188]
mov dword [ebp - 0x2e5c], eax
call fcn.005454f0
push eax
push 0x9470
push dword [ebp - 0x2e5c]
push 0x678828
call dword [0x5fd4ac]
mov ecx, dword [ebp - 0x2e5c]
lea eax, [ebp - 0x2124]
push eax
lea edx, [ebp - 0x2118]
call fcn.005282d0
test al, al
je 0x54f7b0
push 0x6788d0
lea ecx, [ebp - 0x2118]
call fcn.00545820
test al, al
je 0x54f741
mov dl, 1
lea ecx, [ebp - 0x2124]
call fcn.00538b60
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x2124]
call fcn.005454f0
push eax
push 0x671e34
lea ecx, [ebp - 0x2118]
call fcn.005454f0
push eax
push 0x68511c
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
lea eax, [ebp - 0x2124]
push eax
lea edx, [ebp - 0x2118]
lea ecx, [ebp - 0x2e5c]
call fcn.00528340
test al, al
jne 0x54f720
push 0
push 0x621874
lea ecx, [ebp - 0x2018]
call fcn.00532850
lea ecx, [ebp - 0x2124]
call fcn.00545790
lea ecx, [ebp - 0x2118]
call fcn.00545790
lea ecx, [ebp - 0x217c]
mov byte [ebp - 4], 7
call fcn.00545790
cmp byte [esi + 4], 0
je 0x54f7f9
mov byte [ebp - 0x2f65], 2
jmp 0x550e96
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x2044], 0
push 0x1a
lea ecx, [ebp - 0x204c]
movq qword [ebp - 0x204c], xmm0
call fcn.004039b0
mov byte [ebp - 4], 0xb
mov ecx, 1
mov eax, dword [ebp - 0x204c]
test eax, eax
mov dword [ebp - 0x2e24], 1
cmove eax, ecx
mov ecx, dword [ebp - 0x2044]
mov dword [ebp - 0x204c], eax
lea eax, [edi + 0x1c]
push dword [eax]
mov dword [ebp - 0x2f70], eax
call fcn.00545870
push 0
push 0
push 0x800
lea ecx, [ebp - 0x1fb0]
call fcn.00544ce0
push eax
push 0x800
call dword [0x5fd3f0]
test eax, eax
je 0x54fab3
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.005454f0
mov dword [ebp - 0x2f6c], eax
cmp word [eax], 0
je 0x54faa1
mov dword [ebp - 0x2e24], 0xc
mov esi, eax
mov edi, 1
nop
push esi
call dword [0x5fd408]
cmp eax, 3
jne 0x54fa58
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 0x54f90c
mov dword [ebp - 0x204c], eax
jmp 0x54f912
mov dword [ebp - 0x2f64], eax
mov ecx, dword [ebp - 0x2e24]
add ecx, dword [ebp - 0x2044]
push 1
push esi
call fcn.005455c0
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.00544180
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.00545820
test al, al
jne 0x54fa58
push 4
push 0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x20]
call fcn.00544260
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.005454f0
push eax
push 0x61e1dc
mov ecx, esi
call fcn.005454f0
push eax
push 0x68512c
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
push 4
push 0
push dword [ebp - 0x24]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x28]
call fcn.00544260
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.005454f0
push eax
push 0x67237c
lea ecx, [ebp - 0x1fa0]
call fcn.00543b40
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov esi, dword [ebp - 0x2f6c]
inc edi
add dword [ebp - 0x2e24], 0xc
mov eax, dword [ebp - 0x204c]
cmp eax, edi
ja 0x54fa72
push 0
add eax, eax
lea ecx, [ebp - 0x204c]
push eax
call fcn.00403800
mov ecx, esi
call fcn.00542020
lea esi, [esi + eax*2]
add esi, 2
mov dword [ebp - 0x2f6c], esi
cmp word [esi], 0
jne 0x54f8d0
mov esi, dword [ebp - 0x2f88]
mov dword [ebp - 0x2e24], edi
mov edi, dword [ebp - 0x2fa0]
push 0
push 0x621874
lea ecx, [ebp - 0x2018]
call fcn.00532850
cmp byte [esi + 4], 0
je 0x54fac5
mov byte [ebp - 0x2f65], 2
jmp 0x550e85
xor ecx, ecx
call fcn.004ea710
push 0x38
lea eax, [ebp - 0x2228]
push 0
push eax
call fcn.004201d0
add esp, 0xc
lea ecx, [ebp - 0x2228]
push 1
push 0x6295e4
call fcn.004e6f90
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x2018]
cmp byte [ebp - 0x21f8], 0
push 0
je 0x54fef7
push 0x685150
call fcn.00532850
push 0x685180
lea ecx, [ebp - 0x2228]
call fcn.004e6d90
test eax, eax
je 0x54fc34
lea ecx, [ebp - 0x2228]
call fcn.004e6c40
test eax, eax
je 0x54fc34
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6280d0
lea ecx, [ebp - 0x2228]
call fcn.004e69d0
push eax
push 0x6851dc
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x685200
lea ecx, [ebp - 0x2228]
call fcn.004e69d0
push eax
push 0x685218
lea ecx, [ebp - 0x1fa0]
call fcn.00543b40
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.005449d0
mov ecx, eax
call fcn.00542f40
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x685244
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x685250
lea ecx, [ebp - 0x1fa0]
call fcn.00543b40
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 0x685290
lea ecx, [ebp - 0x2228]
call fcn.004e6d90
test eax, eax
je 0x54ff01
lea ecx, [ebp - 0x2228]
call fcn.004e6c40
test eax, eax
je 0x54ff01
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6853c0
lea ecx, [ebp - 0x2228]
call fcn.004e69d0
push eax
push 0x6853dc
push 0
lea ecx, [edi + 0x1298]
call fcn.004da920
push eax
push 0x68540c
lea ecx, [edi + 0x1a0]
call fcn.005454f0
push eax
push 0x685438
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 4
push 0
push 0x685468
lea ecx, [ebp - 0x2228]
call fcn.004e6990
push edx
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00544260
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.005454f0
push eax
push 0x685498
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 4
push 0
push 0x6854dc
lea ecx, [ebp - 0x2228]
call fcn.004e6990
push edx
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00544260
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d05c
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x685504
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 4
push 0
push 0x68551c
lea ecx, [ebp - 0x2228]
call fcn.004e6990
push edx
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00544260
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.005454f0
push eax
push 0x685550
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 4
push 0
push 0x685594
lea ecx, [ebp - 0x2228]
call fcn.004e6990
push edx
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00544260
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d05c
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x685504
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 1
push 0
push 0x6855b8
lea ecx, [ebp - 0x2228]
call fcn.004e69d0
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.005455c0
mov edx, 0x13
lea ecx, [ebp - 0x1fb0]
call fcn.004e9a10
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.005454f0
push eax
push 0x6855d8
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 0x43
call dword [0x5fd6d0]
lea ecx, [ebp - 0x2018]
push 0
cmp eax, 1
jne 0x54fee4
push 0x685610
jmp 0x54fefc
cmp eax, 2
jne 0x54fef0
push 0x685660
jmp 0x54fefc
push 0x6856c0
jmp 0x54fefc
push 0x685700
call fcn.00532850
cmp byte [esi + 4], 0
je 0x54ff13
mov byte [ebp - 0x2f65], 2
jmp 0x550e7a
push 0
push 0x20019
push 0x685740
lea ecx, [ebp - 0x1fa4]
mov dword [ebp - 0x1fa4], 0
call fcn.0053fe40
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1fb4]
mov dword [ebp - 0x1fb4], 0
call fcn.0053fe60
lea eax, [ebp - 0x1fb0]
mov byte [ebp - 4], 0xe
push eax
push 0x644c00
lea ecx, [ebp - 0x1fa4]
call fcn.0053fb00
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x6857a8
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 0
push 0x6857e0
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x2f7c]
test al, 4
je 0x54ffd0
mov eax, 0x685810
jmp 0x54ffea
test al, 1
je 0x54ffdb
mov eax, 0x685860
jmp 0x54ffea
test al, 2
mov ecx, 0x6858e0
mov eax, 0x6858a0
cmove eax, ecx
push 0
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532850
test byte [ebp - 0x2f7c], 0xc
mov ecx, 0x685910
mov eax, 0x685940
cmovne eax, ecx
lea ecx, [ebp - 0x2018]
push 0
push eax
call fcn.00532850
push 0
push 0x685980
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x2f7c]
test al, 0x40
je 0x55004e
push 0
push 0x6859b0
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x2f7c]
mov esi, eax
test eax, 0x10
mov ecx, 0x6859e0
mov eax, 0x685a10
cmovne eax, ecx
lea ecx, [ebp - 0x2018]
push 0
push eax
call fcn.00532850
test byte [ebp - 0x2f7c], 0x20
mov ecx, 0x685a50
mov eax, 0x685a90
cmovne eax, ecx
lea ecx, [ebp - 0x2018]
push 0
push eax
call fcn.00532850
push 0
push 0x685ae0
lea ecx, [ebp - 0x2018]
call fcn.00532850
test byte [ebp - 0x2f7c], 8
mov ecx, 0x685ba4
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, 0x685b80
mov edx, 0x61d060
cmove eax, ecx
mov ecx, 0x685bc0
push 0x621874
test esi, 0x10
mov dword [ebp - 0x2f94], eax
push eax
cmove ecx, edx
push ecx
push 0x685bd8
mov dword [ebp - 0x2f98], ecx
lea ecx, [ebp - 0x1fa0]
push 0x685c48
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
je 0x55012b
mov byte [ebp - 0x2f65], 2
jmp 0x550e64
xorps xmm0, xmm0
mov dword [ebp - 0x1fc4], 0
lea ecx, [ebp - 0x1fcc]
movq qword [ebp - 0x1fcc], xmm0
call fcn.00545940
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1fd8]
xorps xmm0, xmm0
mov dword [ebp - 0x1fd0], 0
movq qword [ebp - 0x1fd8], xmm0
call fcn.00545940
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1fe4]
xorps xmm0, xmm0
mov dword [ebp - 0x1fdc], 0
movq qword [ebp - 0x1fe4], xmm0
call fcn.00545940
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x2e24], 0
mov dword [ebp - 0x2f6c], 0
jbe 0x5503d7
xor ecx, ecx
xor esi, esi
mov dword [ebp - 0x2f64], ecx
cmp dword [ebp - 0x204c], esi
ja 0x5501c9
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 0x685cc8
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545560
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
call dword [0x5fd684]
test eax, eax
je 0x5503ab
push 0x800
push 0
push str.Open
push 0x685ce4
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00544520
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
jne 0x5503ab
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537920
test al, al
jne 0x5502c5
push 2
push 2
push 1
push 1
push 0x61e398
lea ecx, [ebp - 0x1f94]
call fcn.00543e30
test eax, eax
jne 0x5502c5
cmp dword [ebp - 0x204c], esi
ja 0x55028f
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 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
call dword [0x5fd684]
test eax, eax
jne 0x5502f6
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x5503ab
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x64d768
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x685cf4
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov eax, dword [ebp - 0x2f6c]
inc eax
mov dword [ebp - 0x2f6c], eax
jmp 0x5503b1
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 0x5501b8
mov esi, dword [ebp - 0x2f88]
test eax, eax
jne 0x5503e9
push 0
push 0x685d20
lea ecx, [ebp - 0x2018]
call fcn.00532850
push 0
push 0x685d90
lea ecx, [ebp - 0x2018]
call fcn.00532850
cmp byte [esi + 4], 0
jne 0x550e3c
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.00545560
lea eax, [ebp - 0x1fb0]
push eax
push 0x61d060
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f990
lea ecx, [ebp - 0x1fb0]
call fcn.005451f0
test al, al
je 0x5504bd
push 0x66e1f0
lea ecx, [ebp - 0x1fb0]
call fcn.00545870
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x66e228
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push str.HKCR_
lea ecx, [ebp - 0x1ff0]
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x61d060
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f990
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
je 0x550532
push 0x66e210
lea ecx, [ebp - 0x1f94]
call fcn.00545870
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x64d768
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x64d768
push dword [ebp + edi*4 - 0x2fc4]
lea ecx, [ebp - 0x1fa0]
push 0x685e3c
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
inc edi
cmp edi, 7
jl 0x550450
push 0
push 0x685e70
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov edx, dword [ebp - 0x2f9c]
mov edi, dword [ebp - 0x2fa0]
mov dword [ebp - 0x2f74], 0
mov dword [ebp - 0x2f90], 0x64
test edx, edx
je 0x550ca7
mov ecx, edx
and ecx, 1
test dl, 2
je 0x5505d8
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 0x55063e
xor edx, edx
mov eax, 0x64
div dword [ebp - 0x2f70]
mov edx, dword [ebp - 0x2f9c]
mov dword [ebp - 0x2f90], eax
test dl, 1
je 0x550ca7
push 0x685f20
push 0
lea ecx, [edi + 0x14c0]
call fcn.00514200
cmp byte [esi + 4], 0
jne 0x550e3c
lea eax, [ebp - 0x2034]
mov dword [ebp - 0x2034], 0
push eax
push 0x1f40
lea eax, [ebp - 0x1f88]
push eax
call dword [0x5fd37c]
test eax, eax
je 0x55086e
mov eax, dword [ebp - 0x2034]
lea ecx, [ebp - 0x2024]
shr eax, 2
push eax
mov dword [ebp - 0x2034], eax
call fcn.005445d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2f98]
push 0x685f60
call fcn.005454f0
push eax
push 0x685fdc
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 0
push 0
push 0x800
lea ecx, [ebp - 0x1f94]
call fcn.00544ce0
cmp dword [ebp - 0x2034], 0
mov dword [ebp - 0x2f64], 0
jbe 0x550849
cmp byte [esi + 4], 0
jne 0x550e3c
lea ecx, [ebp - 0x1f94]
call fcn.005456e0
push 0x800
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
mov edx, eax
mov eax, dword [ebp - 0x2f64]
mov ecx, dword [ebp + eax*4 - 0x1f88]
call fcn.0052bc40
test al, al
je 0x550830
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x550830
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x686010
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
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.00514200
cmp byte [esi + 4], 0
jne 0x550e3c
mov eax, dword [ebp - 0x2f64]
inc eax
mov dword [ebp - 0x2f64], eax
cmp eax, dword [ebp - 0x2034]
jb 0x550724
push 0
push 0x686040
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x2f90]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x2f74], eax
jmp 0x550870
xor eax, eax
cmp dword [ebp - 0x2034], 0
je 0x550c8d
push 0x6860ec
push eax
lea ecx, [edi + 0x14c0]
call fcn.00514200
cmp byte [esi + 4], 0
jne 0x550e3c
push 0
xorps xmm0, xmm0
mov dword [ebp - 0x2f80], 0
push 0x7d0
lea ecx, [ebp - 0x2064]
mov dword [ebp - 0x2f6c], 0x7d0
movq qword [ebp - 0x2064], xmm0
mov dword [ebp - 0x205c], 0
call fcn.004039b0
mov dword [ebp - 0x2e48], 0xffffffff
mov byte [ebp - 4], 0x13
xor ecx, ecx
mov dword [ebp - 0x2e20], 0x428
mov dword [ebp - 0x2e24], ecx
cmp dword [ebp - 0x2034], ecx
jbe 0x550a93
nop
cmp byte [esi + 4], 0
jne 0x550e20
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 0x550a7a
test eax, eax
je 0x550a7a
lea ecx, [ebp - 0x2e20]
push ecx
push eax
call dword [0x5fd384]
test eax, eax
je 0x550a7a
lea eax, [ebp - 0x2e20]
push eax
push dword [ebp - 0x2e48]
call dword [0x5fd2e0]
test eax, eax
je 0x550a7a
mov edx, dword [ebp - 0x2f80]
lea esi, [edx + edx*2]
shl esi, 2
mov dword [ebp - 0x2f64], esi
jmp 0x550987
mov edx, dword [ebp - 0x2f80]
test edx, edx
je 0x5509ec
xor esi, esi
test edx, edx
je 0x5509e6
xor ecx, ecx
mov dword [ebp - 0x2f78], ecx
nop dword [eax]
cmp dword [ebp - 0x2064], esi
lea eax, [esi + 1]
mov esi, eax
ja 0x5509b3
mov dword [ebp - 0x2064], eax
add ecx, dword [ebp - 0x205c]
lea eax, [ebp - 0x2c00]
push eax
call fcn.00545820
test al, al
jne 0x550a4d
mov ecx, dword [ebp - 0x2f78]
mov edx, dword [ebp - 0x2f80]
add ecx, 0xc
mov dword [ebp - 0x2f78], ecx
cmp esi, edx
jb 0x5509a0
mov esi, dword [ebp - 0x2f64]
cmp dword [ebp - 0x2064], edx
ja 0x5509fd
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.00545870
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 0x550a53
add eax, 0x3e8
lea ecx, [ebp - 0x2064]
push 0
push eax
mov dword [ebp - 0x2f6c], eax
call fcn.00403800
jmp 0x550a53
mov esi, dword [ebp - 0x2f64]
lea eax, [ebp - 0x2e20]
push eax
push dword [ebp - 0x2e48]
call dword [0x5fd2e0]
test eax, eax
jne 0x550981
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 0x550900
push dword [ebp - 0x2f80]
lea ecx, [ebp - 0x2024]
call fcn.00544660
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2f98]
push 0x686128
call fcn.005454f0
push eax
push 0x68619c
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
xor ecx, ecx
mov dword [ebp - 0x2f6c], ecx
cmp dword [ebp - 0x2f80], ecx
jbe 0x550c5b
xor edx, edx
mov dword [ebp - 0x2e24], edx
cmp byte [esi + 4], 0
jne 0x550e20
lea eax, [ecx + 1]
mov dword [ebp - 0x2f64], eax
cmp dword [ebp - 0x2064], ecx
ja 0x550b33
mov dword [ebp - 0x2064], eax
jmp 0x550b39
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x550c34
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 0x621874
mov dword [ebp - 0x2064], eax
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
mov ecx, esi
call fcn.005454f0
push eax
push 0x6861cc
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
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.00514200
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
jne 0x550e20
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 0x550b10
push 0
push 0x686200
lea ecx, [ebp - 0x2018]
call fcn.00532850
lea ecx, [ebp - 0x2e48]
call fcn.004015f0
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x205c]
test ecx, ecx
je 0x550c8d
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.00514200
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 0x550d1c
push 0
lea eax, [ebp - 0x2030]
push eax
lea edx, [ebp - 0x2090]
lea ecx, [ebp - 0x2054]
call fcn.004fb120
mov dword [ebp - 0x2f8c], eax
test eax, eax
jne 0x550d8c
and dword [ebp - 0x2f7c], 0xffffffbf
push 0
lea ecx, [edi + 0x1298]
mov dword [ebp - 0x2f8c], 1
call fcn.004da920
push eax
push 1
lea ecx, [ebp - 0x2030]
call fcn.00403520
mov ecx, eax
call fcn.00545870
push 0
lea ecx, [edi + 0x1298]
call fcn.004da8f0
push eax
push 1
lea ecx, [ebp - 0x2054]
call fcn.00403520
mov ecx, eax
call fcn.00545870
push 0
lea ecx, [edi + 0x1298]
call fcn.004da950
push eax
push 1
lea ecx, [ebp - 0x2090]
call fcn.00403520
mov ecx, eax
call fcn.00545870
xor eax, eax
lea ecx, [ebp - 0x1ff8]
cmp byte [edi + 0x28], al
xorps xmm0, xmm0
movlpd qword [ebp - 0x1ff8], xmm0
setne al
inc eax
add eax, dword [ebp - 0x2f8c]
mov dword [ebp - 0x2f80], eax
inc eax
push eax
call fcn.004036b0
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x2e30]
xorps xmm0, xmm0
mov dword [ebp - 0x2e28], 0
movq qword [ebp - 0x2e30], xmm0
call fcn.0053fe80
test byte [ebp - 0x2f9c], 2
mov byte [ebp - 4], 0x18
je 0x551f9f
push 0x6862a4
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00514200
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
je 0x550f14
mov byte [ebp - 0x2f65], 2
jmp 0x55770e
lea ecx, [ebp - 0x2e48]
call fcn.004015f0
mov ecx, dword [ebp - 0x205c]
test ecx, ecx
je 0x550e3c
push 3
call fcn.00401e60
mov byte [ebp - 0x2f65], 2
lea ecx, [ebp - 0x1fe4]
call fcn.00545790
lea ecx, [ebp - 0x1fd8]
call fcn.00545790
lea ecx, [ebp - 0x1fcc]
call fcn.00545790
lea ecx, [ebp - 0x1fb4]
call fcn.0053fda0
lea ecx, [ebp - 0x1fa4]
call fcn.0053fda0
lea ecx, [ebp - 0x2228]
call fcn.004e7010
mov ecx, dword [ebp - 0x2044]
test ecx, ecx
je 0x550e96
push 3
call fcn.00401e60
lea ecx, [ebp - 0x2018]
call fcn.00401e00
lea ecx, [ebp - 0x1fc0]
call fcn.00545790
lea ecx, [ebp - 0x1ff0]
call fcn.00545790
lea ecx, [ebp - 0x2024]
call fcn.00545790
lea ecx, [ebp - 0x1f94]
call fcn.00545790
lea ecx, [ebp - 0x1fb0]
call fcn.00545790
lea ecx, [ebp - 0x1fa0]
call fcn.00545790
lea ecx, [ebp - 0x2154]
call fcn.00545790
mov al, byte [ebp - 0x2f65]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041e465
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x6862e0
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
xorps xmm0, xmm0
lea ecx, [ebp - 0x21a0]
movups xmmword [ebp - 0x21a0], xmm0
movq qword [ebp - 0x2190], xmm0
call fcn.00542700
mov eax, dword [ebp - 0x2f8c]
mov byte [ebp - 4], 0x19
test eax, eax
je 0x550fe8
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 0x669d08
call fcn.005454f0
push eax
push str.HKU_
mov ecx, esi
call fcn.00545560
add edi, 0xc
sub dword [ebp - 0x2f78], 1
jne 0x550f90
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.00545870
cmp byte [edi + 0x28], 0
je 0x551025
mov eax, dword [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x2f70]
add eax, 0xc
push 0x63ea60
add ecx, eax
call fcn.00545870
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 0x5514d4
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.00514200
cmp byte [esi + 4], 0
jne 0x551f88
mov eax, dword [ebp - 0x2f64]
cmp eax, dword [ebp - 0x2f8c]
jae 0x5510d4
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 0x686388
call fcn.005454f0
push eax
push 0x6863a0
lea ecx, [ebp - 0x1fc0]
call fcn.00545560
jmp 0x5510ed
lea ecx, [ebp - 0x1fc0]
jne 0x5510e3
push 0x6863a8
jmp 0x5510e8
push 0x6863c0
call fcn.00545870
mov ecx, dword [ebp - 0x2e24]
lea eax, [ebp - 0x1fb0]
add ecx, dword [ebp - 0x1ff8]
push eax
push 0x63a434
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f990
test al, al
je 0x551280
push 1
push 0x61e394
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x21a0]
call fcn.00542450
mov ecx, eax
call fcn.005425f0
test eax, eax
je 0x551280
lea ecx, [ebp - 0x21a0]
mov dword [ebp - 0x2f70], 0
call fcn.005425f0
test eax, eax
je 0x551280
mov esi, dword [ebp - 0x2f70]
nop
push 3
push 1
push esi
lea ecx, [ebp - 0x21a0]
call fcn.00542600
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005455c0
lea edx, [edi + 0x1c]
mov ecx, eax
call fcn.00537920
test al, al
jne 0x5511c0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x551266
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x6863dc
lea ecx, [ebp - 0x1fc0]
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
lea ecx, [ebp - 0x21a0]
inc esi
call fcn.005425f0
cmp esi, eax
jb 0x551170
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.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f990
test al, al
je 0x551391
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537920
test al, al
jne 0x5512eb
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x5514a2
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x6863fc
lea ecx, [ebp - 0x1fc0]
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov ecx, dword [ebp - 0x2e24]
lea eax, [ebp - 0x1f94]
add ecx, dword [ebp - 0x1ff8]
push eax
push 0x63a48c
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f990
test al, al
je 0x5514a2
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537920
test al, al
jne 0x5513fc
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x5514a2
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x686414
lea ecx, [ebp - 0x1fc0]
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
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 0x551063
movsd xmm0, qword [0x6e3250]
comisd xmm0, xmmword [edi + 8]
jbe 0x551678
push 0
push 0x20019
push 0x67c148
lea ecx, [ebp - 0x1fa4]
call fcn.0053fdf0
test al, al
je 0x551678
lea eax, [ebp - 0x2e30]
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f740
test al, al
je 0x551678
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 0x61d058
push 0x67c148
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x67c208
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
test al, al
je 0x551656
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537920
test al, al
jne 0x5515b6
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x551656
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x64d768
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fa0]
push 0x686430
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
lea eax, [ebp - 0x2e30]
inc esi
push eax
push esi
lea ecx, [ebp - 0x1fa4]
call fcn.0053f740
test al, al
jne 0x551524
mov esi, dword [ebp - 0x2f88]
push 0
push 0x686460
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x2f6c]
mov ecx, dword [ebp - 0x2f74]
push 0x686504
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x2f74], ecx
push ecx
lea ecx, [edi + 0x14c0]
call fcn.00514200
cmp byte [esi + 4], 0
jne 0x551f88
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x686540
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov eax, dword [ebp - 0x2f8c]
mov dword [ebp - 0x2fe4], 0x640338
mov dword [ebp - 0x2fe0], 0x65f558
mov dword [ebp - 0x2fdc], 0x65f568
test eax, eax
je 0x551789
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 0x65f4a8
call fcn.005454f0
push eax
push str.HKU_
mov ecx, esi
call fcn.00545560
add edi, 0xc
sub dword [ebp - 0x2f78], 1
jne 0x551731
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 0x67c438
lea ecx, [eax + ecx*4]
call fcn.00545870
cmp byte [edi + 0x28], 0
je 0x5517c2
mov eax, dword [ebp - 0x2f8c]
inc eax
push 0x67c320
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x1ff8]
lea ecx, [eax + ecx*4]
call fcn.00545870
xor eax, eax
mov dword [ebp - 0x2f78], eax
cmp dword [ebp - 0x2f80], eax
jbe 0x551ab4
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.00514200
cmp byte [esi + 4], 0
jne 0x551f88
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 0x55186d
mov ecx, dword [ebp - 0x2e24]
add ecx, dword [ebp - 0x2030]
push 0x622764
push eax
push 0x61d058
call fcn.005454f0
push eax
push 0x6863a0
jmp 0x551885
push 0
push 0
push 0x622764
push eax
jne 0x551880
push 0x6865e8
jmp 0x551885
push 0x6865fc
lea ecx, [ebp - 0x1fc0]
call fcn.00545560
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.005454f0
push eax
lea ecx, [ebp - 0x1ff0]
call fcn.00545560
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fdf0
test al, al
je 0x551a6c
lea eax, [ebp - 0x2e30]
mov dword [ebp - 0x2f64], 0
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f6a0
test al, al
je 0x551a6c
nop dword [eax]
nop dword [eax + eax]
lea eax, [ebp - 0x1f94]
push eax
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fa4]
call fcn.0053fb00
test al, al
je 0x551a44
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
jne 0x551a44
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537920
test al, al
jne 0x55198d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x551a44
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x64d768
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d768
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x551f88
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.0053f6a0
test al, al
jne 0x551920
mov edx, dword [ebp - 0x2f84]
inc edx
mov dword [ebp - 0x2f84], edx
cmp edx, 3
jb 0x551820
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 0x5517e4
push 0
lea ecx, [edi + 0x1298]
call fcn.004da3e0
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545870
push 0
lea ecx, [edi + 0x1298]
call fcn.004da7e0
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00544110
mov eax, dword [ebp - 0x2f74]
add eax, dword [ebp - 0x2f6c]
mov dword [ebp - 0x2f74], eax
mov eax, dword [ebp - 0x2f8c]
test eax, eax
je 0x551b83
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.005454f0
push eax
mov ecx, esi
call fcn.005454f0
push eax
mov ecx, edi
call fcn.00545560
mov ecx, dword [ebp - 0x2f70]
add ecx, 0xc
sub dword [ebp - 0x2f84], 1
mov dword [ebp - 0x2f70], ecx
jne 0x551b20
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.004da450
push eax
mov ecx, esi
call fcn.00545870
push 0x250
xorps xmm0, xmm0
lea eax, [ebp - 0x2798]
push 0
movups xmmword [ebp - 0x2548], xmm0
push eax
mov dword [ebp - 0x2548], 0xffffffff
call fcn.004201d0
add esp, 0xc
push 0x4c
lea eax, [ebp - 0x22c8]
mov byte [ebp - 4], 0x1a
push 0
push eax
call fcn.004201d0
add esp, 0xc
lea ecx, [ebp - 0x22c8]
call fcn.005385c0
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.00514200
cmp byte [esi + 4], 0
jne 0x551f6b
mov eax, dword [ebp - 0x2f8c]
cmp dword [ebp - 0x2f78], eax
jne 0x551c6b
push 0x686618
lea ecx, [ebp - 0x1fc0]
call fcn.00545870
jmp 0x551ca4
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 0x686644
call fcn.005454f0
push eax
push 0x6863a0
lea ecx, [ebp - 0x1fc0]
call fcn.00545560
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.005454f0
push eax
lea ecx, [ebp - 0x1ff0]
call fcn.00545560
push 3
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2798]
call fcn.00401820
test al, al
je 0x551ecc
nop dword [eax + eax]
push 0
mov edx, 0x642eb0
lea ecx, [ebp - 0x276c]
call fcn.00541eb0
test eax, eax
je 0x551eb9
xor edx, edx
lea eax, [ebp - 0x276c]
cmp word [ebp - 0x276c], dx
je 0x551d45
nop dword [eax + eax]
movzx ecx, word [eax + 2]
add eax, 2
cmp ecx, 0x2e
jne 0x551d40
mov edx, eax
jmp 0x551d30
test cx, cx
jne 0x551d30
push edx
lea ecx, [ebp - 0x1fb0]
call fcn.00545870
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 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545560
push 0x629204
lea ecx, [ebp - 0x1fb0]
call fcn.00545820
test al, al
je 0x551e01
push 0
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x22c8]
call fcn.00538480
lea ecx, [ebp - 0x22c8]
call fcn.00538400
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545870
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
call dword [0x5fd684]
test eax, eax
jne 0x551e01
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x551eb9
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x64d768
lea eax, [ebp - 0x276c]
push eax
push 0x64d768
lea ecx, [ebp - 0x1fc0]
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x551f6b
lea ecx, [ebp - 0x2798]
call fcn.004017d0
test al, al
jne 0x551d00
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 0x551c23
push 0
push 0x686670
lea ecx, [ebp - 0x2018]
call fcn.00532850
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.00514200
lea ecx, [ebp - 0x22c8]
call fcn.005380e0
mov eax, dword [ebp - 0x2548]
cmp eax, 0xffffffff
je 0x551f5a
push eax
call dword [0x5fd4a8]
lea ecx, [ebp - 0x21a0]
mov byte [ebp - 4], 0x18
call fcn.00542660
jmp 0x551fa5
lea ecx, [ebp - 0x22c8]
call fcn.005380e0
mov eax, dword [ebp - 0x2548]
cmp eax, 0xffffffff
je 0x551f88
push eax
call dword [0x5fd4a8]
lea ecx, [ebp - 0x21a0]
call fcn.00542660
mov byte [ebp - 0x2f65], 2
jmp 0x55770e
mov esi, dword [ebp - 0x2f88]
xorps xmm0, xmm0
mov dword [ebp - 0x2074], 0
lea ecx, [ebp - 0x207c]
movq qword [ebp - 0x207c], xmm0
call fcn.00545940
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x2040]
xorps xmm0, xmm0
mov dword [ebp - 0x2038], 0
movq qword [ebp - 0x2040], xmm0
call fcn.00545940
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x2160]
xorps xmm0, xmm0
mov dword [ebp - 0x2158], 0
movq qword [ebp - 0x2160], xmm0
call fcn.00545940
push 8
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x2e38]
push 0x686728
mov dword [ebp - 0x2e38], 0
call fcn.004019a0
mov eax, dword [ebp - 0x2f9c]
mov byte [ebp - 4], 0x1f
test al, 4
je 0x553086
push 0x686780
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00514200
cmp byte [esi + 4], 0
jne 0x5577bc
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x6867e0
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov eax, dword [ebp - 0x2f8c]
test eax, eax
je 0x552118
xor edi, edi
mov dword [ebp - 0x2f70], eax
nop dword [eax]
nop dword [eax + eax]
mov ecx, dword [ebp - 0x2054]
mov esi, dword [ebp - 0x1ff8]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ecx + edi]
add esi, edi
push 0x645cf0
call fcn.005454f0
push eax
push str.HKU_
mov ecx, esi
call fcn.00545560
add edi, 0xc
sub dword [ebp - 0x2f70], 1
jne 0x5520c0
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.00545870
cmp byte [edi + 0x28], 0
je 0x552155
mov eax, dword [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x2f70]
add eax, 0xc
push 0x645b20
add ecx, eax
call fcn.00545870
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 0x552473
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.00514200
cmp byte [esi + 4], 0
jne 0x5577bc
mov eax, dword [ebp - 0x2f78]
cmp eax, dword [ebp - 0x2f8c]
jae 0x552204
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 0x6868b0
call fcn.005454f0
push eax
push 0x6863a0
lea ecx, [ebp - 0x1fc0]
call fcn.00545560
jmp 0x55221d
lea ecx, [ebp - 0x1fc0]
jne 0x552213
push 0x6868d0
jmp 0x552218
push 0x6868f0
call fcn.00545870
mov ecx, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0x20019
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fdf0
test al, al
je 0x55243b
lea eax, [ebp - 0x1f94]
push eax
push 0x645d48
lea ecx, [ebp - 0x1fa4]
call fcn.0053fb00
test al, al
je 0x5522c5
lea ecx, [ebp - 0x1f94]
call fcn.00545700
test eax, eax
je 0x5522c5
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x686914
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x68693c
lea ecx, [ebp - 0x1fc0]
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
lea eax, [ebp - 0x1f94]
push eax
push 0x6614fc
lea ecx, [ebp - 0x1fa4]
call fcn.0053fb00
test al, al
je 0x552341
lea ecx, [ebp - 0x1f94]
call fcn.00545700
test eax, eax
je 0x552341
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x686960
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x6869a8
lea ecx, [ebp - 0x1fc0]
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
lea eax, [ebp - 0x1f94]
push eax
push 0x67b108
lea ecx, [ebp - 0x1fa4]
call fcn.0053fb00
test al, al
je 0x55243b
lea ecx, [ebp - 0x1f94]
call fcn.00545700
test eax, eax
je 0x55243b
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
call dword [0x5fd684]
test eax, eax
jne 0x5523a4
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
push 0
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
push 0x6869e8
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x686a0c
lea ecx, [ebp - 0x1fc0]
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x5577bc
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 0x552193
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 0x5524f4
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.005454f0
push eax
push str.HKU_
mov ecx, esi
call fcn.00545560
add edi, 0xc
sub dword [ebp - 0x2f70], 1
jne 0x5524a2
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.00545870
cmp byte [edi + 0x28], 0
je 0x552529
mov eax, dword [ebp - 0x1ff8]
lea ecx, [esi + 1]
lea ecx, [ecx + ecx*2]
push 0x646038
lea ecx, [eax + ecx*4]
call fcn.00545870
cmp dword [ebp - 0x2f80], 0
mov esi, dword [ebp - 0x2f88]
mov dword [ebp - 0x2f78], 0
jbe 0x552bf5
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.00514200
cmp byte [esi + 4], 0
jne 0x5577bc
mov ecx, dword [ebp - 0x2f6c]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0x20019
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fdf0
test al, al
je 0x55272c
mov eax, dword [ebp - 0x2f78]
cmp eax, dword [ebp - 0x2f8c]
jae 0x5525fd
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 0x686a30
call fcn.005454f0
push eax
push 0x6863a0
lea ecx, [ebp - 0x1fc0]
call fcn.00545560
jmp 0x552616
lea ecx, [ebp - 0x1fc0]
jne 0x55260c
push 0x686a48
jmp 0x552611
push 0x686a60
call fcn.00545870
lea eax, [ebp - 0x2e30]
mov dword [ebp - 0x2f84], 0
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f740
test al, al
je 0x55272c
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 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1ff0]
call fcn.00545560
lea eax, [ebp - 0x1fb0]
push eax
push 0x657bbc
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
test al, al
je 0x552704
lea ecx, [ebp - 0x1fb0]
call fcn.005451f0
test al, al
jne 0x552704
push 0
push 0
push 0
push 0
push 0
push 0x686a7c
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x64d768
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d768
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x2e30]
inc esi
push eax
push esi
lea ecx, [ebp - 0x1fa4]
call fcn.0053f740
test al, al
jne 0x552650
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 0x552560
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.00514200
cmp byte [esi + 4], 0
jne 0x5577bc
mov eax, dword [ebp - 0x2f78]
cmp eax, dword [ebp - 0x2f8c]
jae 0x552887
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 0x661988
call fcn.005454f0
push eax
push str.HKU_
lea ecx, [ebp - 0x1ff0]
call fcn.00545560
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 0x686aac
call fcn.005454f0
push eax
push str.HKU_
lea ecx, [ebp - 0x207c]
call fcn.00545560
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 0x686adc
call fcn.005454f0
push eax
push 0x6863a0
lea ecx, [ebp - 0x1fc0]
call fcn.00545560
jmp 0x5528d2
push 1
lea ecx, [ebp - 0x1ff0]
jne 0x5528a4
push 0x645ee0
call fcn.005455c0
push 1
push 0x686af4
jmp 0x5528b5
push 0x645f48
call fcn.005455c0
push 1
push 0x686b58
lea ecx, [ebp - 0x207c]
call fcn.005455c0
push 1
push 0x686b2c
lea ecx, [ebp - 0x1fc0]
call fcn.005455c0
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fdf0
test al, al
je 0x552bbb
lea eax, [ebp - 0x2e30]
mov dword [ebp - 0x2f70], 0
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f6a0
test al, al
je 0x552bbb
nop
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fb0]
call fcn.00545870
push 0
push dword [ebp - 0x2e38]
lea ecx, [ebp - 0x1fb0]
call fcn.00542ca0
test al, al
je 0x552b93
lea ecx, [ebp - 0x1f94]
call fcn.00545760
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f3f0
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2040]
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x61d060
lea ecx, [ebp - 0x2040]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
test al, al
je 0x5529c4
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
je 0x552a1e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f410
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2040]
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x61d060
lea ecx, [ebp - 0x2040]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
je 0x552a87
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f410
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2040]
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x61d060
lea ecx, [ebp - 0x2040]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
lea ecx, [ebp - 0x1f94]
test al, al
je 0x552aa8
push 0x686ba8
call fcn.00545870
jmp 0x552adc
push 3
lea edx, [edi + 0x1c]
call fcn.00537920
test al, al
jne 0x552adc
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x552b93
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x64d768
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d768
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x5577bc
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.0053f6a0
test al, al
jne 0x552920
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 0x5527a0
mov ecx, dword [ebp - 0x2f74]
jmp 0x552c0c
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 0x686bc8
mov dword [ebp - 0x2f74], ecx
lea ecx, [edi + 0x1298]
push 0
mov dword [ebp - 0x2fac], 0x646760
call fcn.004da510
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545560
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
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.0053fdf0
test al, al
je 0x553029
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.00514200
cmp byte [esi + 4], 0
jne 0x5577bc
mov eax, dword [ebp - 0x2f6c]
test eax, eax
jne 0x552d44
push 0x686c34
lea ecx, [ebp - 0x1fc0]
call fcn.00545870
push 0x686af4
lea ecx, [ebp - 0x207c]
call fcn.00545870
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 0x552d97
call fcn.0053f740
jmp 0x552d9c
cmp eax, 1
jne 0x552d60
push 0x686c40
lea ecx, [ebp - 0x1fc0]
call fcn.00545870
push 0x686b58
jmp 0x552d13
cmp eax, 2
jne 0x552d6c
push 0x686c58
jmp 0x552d03
cmp eax, 3
jne 0x552d78
push 0x686c7c
jmp 0x552d03
cmp eax, 4
jne 0x552d0e
push 0x686ca4
lea ecx, [ebp - 0x1fc0]
call fcn.00545870
push 0x686b58
jmp 0x552d13
call fcn.0053f6a0
test al, al
je 0x553029
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1f94]
call fcn.00545870
push 0
push dword [ebp - 0x2e38]
lea ecx, [ebp - 0x1f94]
call fcn.00542ca0
test al, al
je 0x55301d
lea ecx, [ebp - 0x1f94]
call fcn.00545760
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f3f0
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2040]
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x61d060
lea ecx, [ebp - 0x2040]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
test al, al
je 0x552e48
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
je 0x552ea2
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f410
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2040]
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x61d060
lea ecx, [ebp - 0x2040]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
je 0x552f0b
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x65f410
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x207c]
push 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2040]
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x61d060
lea ecx, [ebp - 0x2040]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
je 0x552f2c
push 0x686ba8
lea ecx, [ebp - 0x1f94]
call fcn.00545870
jmp 0x552f66
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1fb0]
call fcn.00537920
test al, al
jne 0x552f66
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x55301d
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x64d768
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d768
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x5577bc
mov eax, dword [ebp - 0x2f70]
inc eax
jmp 0x552d20
mov eax, dword [ebp - 0x2f6c]
inc eax
mov dword [ebp - 0x2f6c], eax
cmp eax, 5
jb 0x552ca0
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.00514200
push 0
push 0x686ce0
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x2f9c]
jmp 0x55308c
mov esi, dword [ebp - 0x2f74]
test al, 8
je 0x553827
push 0x686db0
push esi
lea ecx, [edi + 0x14c0]
call fcn.00514200
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
jne 0x5577bc
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x686e20
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
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 0x55312e
push 0x645688
call fcn.00545870
push 1
push 0x686edc
jmp 0x55313f
push 0x645728
call fcn.00545870
push 1
push 0x686efc
lea ecx, [ebp - 0x1fc0]
call fcn.005455c0
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fdf0
test al, al
je 0x55330c
xor eax, eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x2f70], eax
jne 0x5577bc
lea ecx, [ebp - 0x2e30]
push ecx
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f740
test al, al
je 0x55330c
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 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2160]
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push str.Debugger
lea ecx, [ebp - 0x2160]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
test al, al
je 0x553300
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
jne 0x553300
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537920
test al, al
jne 0x553249
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x553300
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x64d768
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d768
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x5577bc
mov eax, dword [ebp - 0x2f70]
inc eax
jmp 0x553172
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 0x553111
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.00545940
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x2fc8]
xor ecx, ecx
mov dword [ebp - 0x2fc8], 0x686f24
mov dword [ebp - 0x2fc4], 0x686f40
lea edx, [edi + 0x14c0]
mov dword [ebp - 0x2fc0], 0x686f88
mov dword [ebp - 0x2fbc], 0x686fc8
mov dword [ebp - 0x2fb8], 0x687034
mov dword [ebp - 0x2fb4], 0x687058
mov dword [ebp - 0x2fb0], 0x6870a8
mov dword [ebp - 0x2fac], 0x6870d8
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.00514200
cmp byte [esi + 4], 0
jne 0x553810
cmp dword [ebp - 0x2f64], 4
lea ecx, [ebp - 0x1fc0]
jae 0x553409
push 0x687130
jmp 0x55340e
push 0x687154
call fcn.00545870
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1fa4]
push 0
push 0x20019
push dword [eax]
call fcn.0053fdf0
test al, al
je 0x55378a
lea eax, [ebp - 0x2e30]
mov dword [ebp - 0x2f70], 0
push eax
push 0
lea ecx, [ebp - 0x1fa4]
call fcn.0053f740
test al, al
je 0x55378a
mov eax, dword [ebp - 0x2f64]
and eax, 1
mov dword [ebp - 0x2e24], eax
nop word [eax + eax]
test eax, eax
jne 0x5535b5
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 0x61d058
push dword [eax]
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x61d060
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
je 0x553561
lea eax, [ebp - 0x2040]
push eax
push str.DelegateExecute
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
lea ecx, [ebp - 0x2040]
call fcn.00545700
test eax, eax
je 0x553561
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67be38
lea ecx, [ebp - 0x2040]
call fcn.005454f0
push eax
push 0x67be20
lea ecx, [ebp - 0x1ff0]
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x61d060
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
je 0x553695
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 0x67be58
push dword [ebp - 0x2e30]
push 0x61d058
push dword [eax]
call fcn.00545560
lea eax, [ebp - 0x2040]
push eax
push 0x63d2f8
jmp 0x553619
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x2040]
call fcn.00545870
push 0
push dword [ebp - 0x2e38]
lea ecx, [ebp - 0x2040]
call fcn.00542ca0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
test al, al
jne 0x553651
push dword [ebp - 0x2e30]
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1ff0]
push 0x61d058
push dword [eax]
call fcn.00545560
lea eax, [ebp - 0x2040]
push eax
push 0x61d060
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
lea ecx, [ebp - 0x2040]
call fcn.00545700
test eax, eax
je 0x553695
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67be38
lea ecx, [ebp - 0x2040]
call fcn.005454f0
push eax
push 0x67be20
lea ecx, [ebp - 0x1ff0]
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x61d060
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053f990
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537920
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x55375c
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x64d768
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d768
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x553810
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.0053f740
test al, al
mov eax, dword [ebp - 0x2e24]
jne 0x553470
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 0x5533d4
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.00514200
push 0
push 0x687180
lea ecx, [ebp - 0x2018]
call fcn.00532850
lea ecx, [ebp - 0x2188]
mov byte [ebp - 4], 0x1f
call fcn.00545790
mov eax, dword [ebp - 0x2f9c]
jmp 0x55382d
lea ecx, [ebp - 0x2188]
call fcn.00545790
mov byte [ebp - 0x2f65], 2
jmp 0x5576d0
mov esi, dword [ebp - 0x2f88]
test al, 0x10
je 0x5542d3
push 0x68722c
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00514200
cmp byte [esi + 4], 0
je 0x55385d
mov byte [ebp - 0x2f65], 2
jmp 0x5576d0
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 0x553bf4
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 0x553bf4
cmp byte [esi + 4], 0
jne 0x553bf4
mov eax, dword [ebp - 0x2058]
lea ecx, [ebp - 0x2e54]
add eax, 0x400
push eax
mov dword [ebp - 0x2f70], eax
call fcn.00403f80
test eax, eax
je 0x553bf4
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 0x553bf4
mov eax, dword [ebp - 0x2e54]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2028]
mov dword [ebp - 0x2f6c], eax
call fcn.005445d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2f98]
push 0x687258
call fcn.005454f0
push eax
push 0x6872ec
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov ecx, dword [ebp - 0x2028]
mov dword [ebp - 0x2f70], 0
test ecx, ecx
je 0x553be2
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.00514200
cmp byte [esi + 4], 0
jne 0x554303
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 0x64d0c0
push dword [eax]
push 0x64d0d8
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x64d160
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f990
test al, al
je 0x553a6e
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
je 0x553ac8
push 0
lea ecx, [ebp - 0x1ff0]
call fcn.00545210
lea eax, [ebp - 0x1f94]
push eax
push 0x64d160
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f990
test al, al
je 0x553ab1
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
je 0x553ac8
lea eax, [ebp - 0x1f94]
push eax
push 0x6287b4
lea ecx, [ebp - 0x1fa4]
call fcn.0053fb00
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537920
test al, al
jne 0x553b02
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x553bae
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1fa0]
push 0x64d768
push dword [eax]
push 0x68730c
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x554303
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 0x5539e7
push 0
push 0x687330
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
add eax, dword [ebp - 0x2f64]
push 0x6873d4
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00514200
cmp byte [esi + 4], 0
jne 0x55420a
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 0x553f75
cmp byte [esi + 4], 0
jne 0x553f75
mov eax, dword [ebp - 0x2058]
lea ecx, [ebp - 0x2e54]
add eax, 0x400
push eax
mov dword [ebp - 0x2f70], eax
call fcn.00403f80
test eax, eax
je 0x553f75
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 0x553f75
mov eax, dword [ebp - 0x2e54]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2028]
mov dword [ebp - 0x2f6c], eax
call fcn.005445d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x2024]
push dword [ebp - 0x2f98]
push 0x687410
call fcn.005454f0
push eax
push 0x6874b0
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d058
push dword [edi + 0x20]
lea ecx, [ebp - 0x1fb0]
call fcn.00545560
mov ecx, dword [ebp - 0x2028]
mov dword [ebp - 0x2f70], 0
test ecx, ecx
je 0x553f63
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.00514200
cmp byte [esi + 4], 0
jne 0x55420a
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 0x64d0d8
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
push 0x6287b4
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f990
test al, al
je 0x553df9
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
je 0x553e29
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.00545560
push 0
push 1
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push str.SystemRoot_
lea ecx, [ebp - 0x1f94]
call fcn.00543640
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537920
test al, al
jne 0x553e83
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x553f2f
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x1fa0]
push 0x64d768
push dword [eax]
push 0x6874e0
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x55420a
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 0x553d75
push 0
push 0x687500
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
add eax, dword [ebp - 0x2f64]
push 0x6875b4
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00514200
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x6875f0
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
movsd xmm0, qword [edi + 8]
comisd xmm0, xmmword [0x6e3258]
jb 0x55424f
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 0x554020
mov byte [ebp - 4], 0x24
jmp 0x554237
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 0x554123
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0x2e34]
test eax, eax
je 0x554114
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov esi, dword [ebp - 0x2f88]
mov byte [ebp - 4], 0x22
jmp 0x55426b
mov dword [ebp - 0x2e4c], 0
push 0x61d058
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 0x55414f
mov edx, dword [eax]
jmp 0x554151
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 0x554193
call fcn.00401c30
mov eax, dword [ebp - 0x2f70]
mov dword [ebp - 0x2fd0], 0
test al, al
je 0x5541b6
mov byte [ebp - 4], 0x2c
mov eax, dword [ebp - 0x2e4c]
test eax, eax
je 0x5541ad
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x2d
jmp 0x554102
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.0054e930
test al, al
jne 0x55421d
mov byte [ebp - 4], 0x2e
mov eax, dword [ebp - 0x2e4c]
test eax, eax
je 0x5541f4
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 0x55420a
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov eax, dword [ebp - 0x2e24]
test eax, eax
je 0x554310
jmp 0x554309
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x2e4c]
test eax, eax
je 0x554233
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 0x554249
mov ecx, dword [eax]
push eax
mov eax, dword [ecx + 8]
call eax
mov byte [ebp - 4], 0x22
jmp 0x55426b
lea eax, [esi + 4]
mov ecx, edi
push eax
lea eax, [ebp - 0x2018]
push eax
push dword [ebp - 0x2f7c]
call fcn.0054e520
test al, al
je 0x55420a
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.00514200
push 0
push 0x687690
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x2e24]
test eax, eax
je 0x5542b6
push eax
call dword [0x5fd114]
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x2e54]
test eax, eax
je 0x5542cd
push eax
call fcn.0041e473
add esp, 4
mov eax, dword [ebp - 0x2f9c]
test al, 0x20
je 0x554c52
push 0x68773c
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00514200
cmp byte [esi + 4], 0
je 0x554333
mov byte [ebp - 0x2f65], 2
jmp 0x5576d0
mov eax, dword [ebp - 0x2e24]
push eax
call dword [0x5fd114]
mov eax, dword [ebp - 0x2e54]
test eax, eax
je 0x5577bc
push eax
call fcn.0041e473
add esp, 4
mov byte [ebp - 0x2f65], 2
jmp 0x5576d0
push 1
push 0x687780
lea ecx, [ebp - 0x1fa0]
call fcn.005455c0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov eax, dword [ebp - 0x2f8c]
test eax, eax
je 0x5543c8
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 0x664bf0
call fcn.005454f0
push eax
push str.HKU_
mov ecx, esi
call fcn.00545560
add edi, 0xc
sub dword [ebp - 0x2f70], 1
jne 0x554370
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 0x687850
call fcn.00545870
cmp byte [edi + 0x28], 0
je 0x554405
mov eax, dword [ebp - 0x1ff8]
mov ecx, dword [ebp - 0x2f70]
add eax, 0xc
push 0x6878c8
add ecx, eax
call fcn.00545870
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x2164], 0
push 0x687958
lea ecx, [ebp - 0x216c]
movq qword [ebp - 0x216c], xmm0
call fcn.005458d0
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 0x55487f
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.00514200
cmp byte [esi + 4], 0
jne 0x554e20
mov eax, dword [ebp - 0x2f78]
cmp eax, dword [ebp - 0x2f8c]
jae 0x5544e1
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 0x6879ac
call fcn.005454f0
push eax
push 0x6863a0
lea ecx, [ebp - 0x1fc0]
call fcn.00545560
jmp 0x5544fa
lea ecx, [ebp - 0x1fc0]
jne 0x5544f0
push 0x6879c4
jmp 0x5544f5
push 0x6879ec
call fcn.00545870
mov ecx, dword [ebp - 0x2f64]
add ecx, dword [ebp - 0x1ff8]
push 0
push 0x20019
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fdf0
test al, al
je 0x55484d
xor eax, eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x2f70], eax
jne 0x554e20
lea ecx, [ebp - 0x2e30]
push ecx
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f740
test al, al
je 0x55484d
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 0x61d058
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1ff0]
call fcn.00545560
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb4]
call fcn.0053fdf0
test al, al
je 0x554841
lea eax, [ebp - 0x1f94]
push eax
push 0x654ab8
lea ecx, [ebp - 0x1fb4]
call fcn.0053fb00
test al, al
je 0x554841
lea ecx, [ebp - 0x1f94]
call fcn.005451f0
test al, al
jne 0x554841
lea eax, [ebp - 0x1fb0]
push eax
push 0x6287e4
lea ecx, [ebp - 0x1fb4]
call fcn.0053fb00
test al, al
je 0x554841
lea ecx, [ebp - 0x1fb0]
call fcn.005451f0
test al, al
jne 0x554841
lea eax, [ebp - 0x2170]
push eax
push 0x664c5c
lea ecx, [ebp - 0x1fb4]
call fcn.0053fa70
test al, al
je 0x55463f
cmp dword [ebp - 0x2170], 1
je 0x554841
lea eax, [ebp - 0x2024]
push eax
push 0x664c7c
lea ecx, [ebp - 0x1fb4]
call fcn.0053fb00
test al, al
je 0x55466d
lea ecx, [ebp - 0x2024]
call fcn.00545700
test eax, eax
jne 0x554841
lea eax, [ebp - 0x2024]
push eax
push 0x664c98
lea ecx, [ebp - 0x1fb4]
call fcn.0053fb00
test al, al
je 0x5546f1
lea ecx, [ebp - 0x2024]
call fcn.00545700
test eax, eax
je 0x5546f1
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d194
lea ecx, [ebp - 0x2024]
call fcn.005454f0
push eax
push 0x61d194
lea ecx, [ebp - 0x2024]
call fcn.00545560
push 0
push 1
push 1
push 0
lea ecx, [ebp - 0x2024]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x216c]
call fcn.00543e30
test eax, eax
jne 0x554841
lea eax, [ebp - 0x2024]
push eax
push 0x664d24
lea ecx, [ebp - 0x1fb4]
call fcn.0053fb00
test al, al
je 0x55471b
lea ecx, [ebp - 0x2024]
call fcn.005451f0
test al, al
je 0x55472b
push str.No_publisher
lea ecx, [ebp - 0x2024]
call fcn.00545870
test byte [ebp - 0x2f7c], 2
je 0x554754
push 9
push 1
push 1
push 0
push str.Microsoft
lea ecx, [ebp - 0x2024]
call fcn.00543e30
test eax, eax
jne 0x554841
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537920
test al, al
jne 0x55478e
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x554841
push 0
push 0x621874
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x64d768
lea ecx, [ebp - 0x2024]
call fcn.005454f0
push eax
push 0x64d768
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x64d768
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1fc0]
push 0x64d768
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x554e20
mov eax, dword [ebp - 0x2f70]
inc eax
jmp 0x554528
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 0x554470
push 0
push 0x687a20
lea ecx, [ebp - 0x2018]
call fcn.00532850
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.00514200
cmp byte [esi + 4], 0
jne 0x554e20
push 0x687ac0
push dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
call fcn.00514200
cmp byte [esi + 4], 0
jne 0x554e20
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x687b10
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 8
push 0x687ba8
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 0x554be6
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.00514200
cmp byte [esi + 4], 0
jne 0x554e03
mov ecx, dword [ebp - 0x2f64]
movsd xmm0, qword [0x6e3250]
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 0x5549cc
push 0x655ef8
jmp 0x5549d1
push 0x655f60
call fcn.005454f0
push eax
push str.HKU_
lea ecx, [ebp - 0x1ff0]
call fcn.00545560
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 0x687bf8
call fcn.005454f0
push eax
push 0x6863a0
lea ecx, [ebp - 0x1fc0]
call fcn.00545560
push 0
push 0x20019
lea ecx, [ebp - 0x1ff0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053fdf0
test al, al
je 0x554bb4
xor eax, eax
cmp byte [esi + 4], 0
mov dword [ebp - 0x2f70], eax
jne 0x554e03
lea ecx, [ebp - 0x2e30]
push ecx
push eax
lea ecx, [ebp - 0x1fa4]
call fcn.0053f6a0
test al, al
je 0x554bb4
push dword [ebp - 0x2e30]
lea ecx, [ebp - 0x1f94]
call fcn.00545870
push 2
push 2
push 1
push 1
push 0x61e398
lea ecx, [ebp - 0x1f94]
call fcn.00543e30
test eax, eax
je 0x554ba8
movsd xmm0, qword [edi + 8]
comisd xmm0, xmmword [0x6e3260]
jbe 0x554acb
push 0
push 0x61d060
push dword [ebp - 0x2e44]
lea ecx, [ebp - 0x1f94]
call fcn.005428e0
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
call dword [0x5fd684]
test eax, eax
jne 0x554afc
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x554ba8
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x64d768
lea ecx, [ebp - 0x1fc0]
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x554e03
mov eax, dword [ebp - 0x2f70]
inc eax
jmp 0x554a48
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 0x554970
push 0
push 0x687c10
lea ecx, [ebp - 0x2018]
call fcn.00532850
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.00514200
mov eax, dword [ebp - 0x2e44]
test eax, eax
je 0x554c33
push eax
call fcn.00418d40
add esp, 4
lea ecx, [ebp - 0x216c]
mov dword [ebp - 0x2e44], 0
mov byte [ebp - 4], 0x1f
call fcn.00545790
mov eax, dword [ebp - 0x2f9c]
test al, 0x40
je 0x5558ff
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.00545940
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
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 0x687cc8
movq qword [ebp - 0x20a8], xmm0
call fcn.00545880
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x20e4]
xorps xmm0, xmm0
mov dword [ebp - 0x20dc], 0
movq qword [ebp - 0x20e4], xmm0
call fcn.00545940
push 0x250
xorps xmm0, xmm0
lea eax, [ebp - 0x2538]
push 0
movups xmmword [ebp - 0x22e8], xmm0
push eax
mov dword [ebp - 0x22e8], 0xffffffff
call fcn.004201d0
add esp, 0xc
xor eax, eax
mov byte [ebp - 4], 0x37
mov dword [ebp - 0x2e24], eax
lea ecx, [edi + 0x14c0]
imul eax, dword [ebp - 0x2f6c]
push 0
cdq
idiv dword [ebp - 0x2f70]
add eax, dword [ebp - 0x2f74]
push eax
call fcn.00514200
mov eax, dword [ebp - 0x2e24]
test eax, eax
jne 0x554e37
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x687d40
push dword [edi + 0x1c]
lea ecx, [ebp - 0x1fb0]
push 0x687d9c
call fcn.00545560
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00514200
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x20a8]
call fcn.005454f0
push eax
push 0x687dcc
push dword [edi + 0x1c]
lea ecx, [ebp - 0x1fa0]
push 0x687dd8
call fcn.00545560
push 0x687e00
lea ecx, [ebp - 0x1fc0]
call fcn.00545870
push 1
push dword [edi + 0x1c]
lea ecx, [ebp - 0x2088]
call fcn.005455c0
jmp 0x554f76
mov eax, dword [ebp - 0x2e44]
test eax, eax
je 0x554e16
push eax
call fcn.00418d40
add esp, 4
mov dword [ebp - 0x2e44], 0
lea ecx, [ebp - 0x216c]
call fcn.00545790
mov byte [ebp - 0x2f65], 2
jmp 0x5576d0
cmp eax, 1
jne 0x554ea0
push 0x687e30
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00514200
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.005454f0
push eax
push 0x687e98
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
push 0x687ef8
lea ecx, [ebp - 0x1fc0]
call fcn.00545870
push 0
lea ecx, [edi + 0x1298]
call fcn.004daab0
jmp 0x554f6a
cmp eax, 2
jne 0x554f06
push 0x687f28
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00514200
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.005454f0
push eax
push 0x687f78
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
push 0x687fc4
lea ecx, [ebp - 0x1fc0]
call fcn.00545870
push 0
lea ecx, [edi + 0x1298]
call fcn.004da740
jmp 0x554f6a
cmp eax, 3
jne 0x554f76
push 0x687ff8
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00514200
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.005454f0
push eax
push 0x688058
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
push 0x6880b0
lea ecx, [ebp - 0x1fc0]
call fcn.00545870
push 0
lea ecx, [edi + 0x1298]
call fcn.004da6a0
push eax
lea ecx, [ebp - 0x2088]
call fcn.00545870
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x5558c0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d1a8
lea ecx, [ebp - 0x2088]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20e4]
call fcn.00545560
push 1
lea ecx, [ebp - 0x20e4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2538]
call fcn.00401820
test al, al
je 0x555190
cmp byte [esi + 4], 0
jne 0x5558c0
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 0x61d058
lea ecx, [ebp - 0x2088]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545560
test byte [ebp - 0x2538], 0x10
lea ecx, [ebp - 0x1f94]
je 0x555072
push 1
call fcn.005454f0
push eax
mov ecx, edi
call fcn.004630f0
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x5558c0
push 4
push 0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00544260
push 0
push 0
push 0
push 0
push 0
push 0x6880e8
jmp 0x555128
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
call fcn.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x55517d
push 4
push 0
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
mov ecx, eax
call fcn.0052fee0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00544260
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x55517d
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2024]
call fcn.005454f0
push eax
push 0x64d768
lea eax, [ebp - 0x250c]
push eax
push 0x64d768
lea ecx, [ebp - 0x1fc0]
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x5558c0
lea ecx, [ebp - 0x2538]
call fcn.004017d0
test al, al
jne 0x554fe3
mov eax, dword [ebp - 0x2e24]
test eax, eax
jne 0x5551cf
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push eax
push 0x688108
push dword [edi + 0x1c]
lea ecx, [ebp - 0x1fa0]
push 0x688140
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
jmp 0x555202
cmp eax, 1
jne 0x5551dd
push 0
push 0x6881a0
jmp 0x5551f7
cmp eax, 2
jne 0x5551eb
push 0
push 0x688260
jmp 0x5551f7
cmp eax, 3
jne 0x555208
push 0
push 0x688310
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x2e24]
inc eax
lea ecx, [edi + 0x14c0]
mov dword [ebp - 0x2e24], eax
cmp eax, dword [ebp - 0x2f70]
jl 0x554d46
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.00514200
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x2134], 0
push 0
lea ecx, [edi + 0x1298]
movq qword [ebp - 0x213c], xmm0
call fcn.004da4a0
push eax
lea ecx, [ebp - 0x213c]
call fcn.005458d0
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.004da880
push eax
lea ecx, [ebp - 0x2130]
call fcn.005458d0
push 0
lea ecx, [edi + 0x1298]
mov byte [ebp - 4], 0x39
call fcn.004da7e0
inc eax
lea ecx, [ebp - 0x213c]
push eax
call fcn.00544110
push 0
lea ecx, [edi + 0x1298]
call fcn.004da7e0
inc eax
lea ecx, [ebp - 0x2130]
push eax
call fcn.00544110
cmp dword [ebp - 0x2f8c], 0
mov dword [ebp - 0x2f70], 0
jbe 0x55582d
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.00514200
cmp byte [esi + 4], 0
jne 0x5558aa
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 0x555421
push 0x6883c4
call fcn.005454f0
push eax
push 0x687d9c
lea ecx, [ebp - 0x1fb0]
call fcn.00545560
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.005454f0
push eax
push 0x61d058
mov ecx, esi
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2088]
call fcn.00545560
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.005454f0
push eax
push 0x688400
mov ecx, esi
call fcn.005454f0
push eax
push 0x687dd8
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x688438
jmp 0x5554d4
push 0x688450
call fcn.005454f0
push eax
push 0x687d9c
lea ecx, [ebp - 0x1fb0]
call fcn.00545560
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.005454f0
push eax
push 0x61d058
mov ecx, esi
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2088]
call fcn.00545560
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.005454f0
push eax
push 0x688498
mov ecx, esi
call fcn.005454f0
push eax
push 0x687dd8
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6884dc
mov ecx, dword [ebp - 0x2f80]
add ecx, dword [ebp - 0x2030]
call fcn.005454f0
push eax
push 0x6863a0
lea ecx, [ebp - 0x1fc0]
call fcn.00545560
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0xffffffffffffffff
lea ecx, [edi + 0x14c0]
call fcn.00514200
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
jne 0x5558aa
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x5558aa
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d1a8
lea ecx, [ebp - 0x2088]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20e4]
call fcn.00545560
push 1
lea ecx, [ebp - 0x20e4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2538]
call fcn.00401820
test al, al
je 0x55573d
nop dword [eax]
cmp byte [esi + 4], 0
jne 0x5558aa
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 0x61d058
lea ecx, [ebp - 0x2088]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545560
test byte [ebp - 0x2538], 0x10
lea ecx, [ebp - 0x1f94]
je 0x55561f
push 1
call fcn.005454f0
push eax
mov ecx, edi
call fcn.004630f0
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x5558aa
push 4
push 0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00544260
push 0
push 0
push 0
push 0
push 0
push 0x6880e8
jmp 0x5556d5
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
call fcn.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x55572a
push 4
push 0
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
mov ecx, eax
call fcn.0052fee0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00544260
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x55572a
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2024]
call fcn.005454f0
push eax
push 0x64d768
lea eax, [ebp - 0x250c]
push eax
push 0x64d768
lea ecx, [ebp - 0x1fc0]
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x5558aa
lea ecx, [ebp - 0x2538]
call fcn.004017d0
test al, al
jne 0x555590
cmp dword [ebp - 0x2f64], 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
jne 0x5557a6
mov ecx, dword [ebp - 0x2030]
mov esi, dword [ebp - 0x2f80]
push 0x688500
lea ecx, [ecx + esi]
call fcn.005454f0
push eax
push 0x688140
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov eax, dword [ebp - 0x2f64]
inc eax
mov dword [ebp - 0x2f64], eax
jmp 0x555346
mov ecx, dword [ebp - 0x2f80]
add ecx, dword [ebp - 0x2030]
push 0x688568
call fcn.005454f0
push eax
push 0x688140
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov eax, dword [ebp - 0x2f64]
inc eax
mov dword [ebp - 0x2f64], eax
cmp eax, 2
jb 0x555340
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 0x555312
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.00514200
lea ecx, [ebp - 0x2130]
call fcn.00545790
lea ecx, [ebp - 0x213c]
call fcn.00545790
mov eax, dword [ebp - 0x22e8]
cmp eax, 0xffffffff
je 0x55587d
push eax
call dword [0x5fd4a8]
lea ecx, [ebp - 0x20e4]
call fcn.00545790
lea ecx, [ebp - 0x20a8]
call fcn.00545790
lea ecx, [ebp - 0x2088]
mov byte [ebp - 4], 0x1f
call fcn.00545790
mov eax, dword [ebp - 0x2f9c]
jmp 0x555905
lea ecx, [ebp - 0x2130]
call fcn.00545790
lea ecx, [ebp - 0x213c]
call fcn.00545790
mov eax, dword [ebp - 0x22e8]
cmp eax, 0xffffffff
je 0x5558d2
push eax
call dword [0x5fd4a8]
lea ecx, [ebp - 0x20e4]
call fcn.00545790
lea ecx, [ebp - 0x20a8]
call fcn.00545790
lea ecx, [ebp - 0x2088]
call fcn.00545790
mov byte [ebp - 0x2f65], 2
jmp 0x5576d0
mov esi, dword [ebp - 0x2f74]
test al, al
jns 0x55609d
push 0x6885dc
push esi
lea ecx, [edi + 0x14c0]
call fcn.00514200
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x688618
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
xorps xmm0, xmm0
lea ecx, [ebp - 0x2100]
movups xmmword [ebp - 0x2100], xmm0
movq qword [ebp - 0x20f0], xmm0
call fcn.00542700
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.00514200
cmp byte [esi + 4], 0
jne 0x555c1e
mov eax, dword [ebp - 0x2f78]
test eax, eax
jne 0x555a03
lea eax, [ebp - 0x1fb0]
push eax
push 0x66a0f4
push 0x6455f8
lea ecx, [ebp - 0x1fa4]
call fcn.0053f990
push 8
lea ecx, [ebp - 0x1fb0]
call fcn.005434c0
push 0
push 0x61e394
jmp 0x555a55
cmp eax, 1
jne 0x555a0f
push 0x66a118
jmp 0x555a20
cmp eax, 2
jne 0x555a1b
push 0x66a148
jmp 0x555a20
push 0x66a174
lea ecx, [ebp - 0x1f94]
call fcn.00545870
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x66a198
lea ecx, [ebp - 0x1fa4]
call fcn.0053f990
push 0
push 0x621af8
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2100]
call fcn.00542450
lea ecx, [ebp - 0x2100]
mov dword [ebp - 0x2f64], 0
call fcn.005425f0
test eax, eax
je 0x555c5a
mov ecx, dword [ebp - 0x2f64]
nop
push 3
push 1
push ecx
lea ecx, [ebp - 0x2100]
call fcn.00542600
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005455c0
mov ecx, eax
call fcn.005434c0
mov ecx, eax
call fcn.005451f0
test al, al
jne 0x555c3b
push 0x621d84
lea ecx, [ebp - 0x1f94]
call fcn.00545820
test al, al
jne 0x555c3b
push 0
push 1
push 1
push 0
push str..dll
lea ecx, [ebp - 0x1f94]
call fcn.00543e30
lea ecx, [ebp - 0x1f94]
mov esi, eax
call fcn.00545700
sub eax, 3
cmp esi, eax
je 0x555b2c
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.00543b40
push 3
lea edx, [edi + 0x1c]
lea ecx, [ebp - 0x1f94]
call fcn.00537920
test al, al
jne 0x555b66
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x67b734
lea ecx, [ebp - 0x1f94]
call fcn.005438d0
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x555c35
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x64d768
push dword [ebp - 0x2f64]
lea ecx, [ebp - 0x2100]
call fcn.00542600
push eax
push 0x6886b0
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov esi, dword [ebp - 0x2f88]
cmp byte [esi + 4], 0
je 0x555c3b
lea ecx, [ebp - 0x2100]
call fcn.00542660
mov byte [ebp - 0x2f65], 2
jmp 0x5576d0
mov esi, dword [ebp - 0x2f88]
inc dword [ebp - 0x2f64]
lea ecx, [ebp - 0x2100]
call fcn.005425f0
mov ecx, dword [ebp - 0x2f64]
cmp ecx, eax
jb 0x555a90
mov eax, dword [ebp - 0x2f78]
mov edx, dword [ebp - 0x2f6c]
inc eax
mov dword [ebp - 0x2f78], eax
cmp eax, 4
jb 0x5559a3
push 0
push 0x6886e0
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x2f74]
lea ecx, [edi + 0x14c0]
add eax, dword [ebp - 0x2f6c]
push 0x688788
push eax
mov dword [ebp - 0x2f74], eax
call fcn.00514200
push 0
push 0x6887c0
lea ecx, [ebp - 0x2018]
call fcn.00532850
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x656660
push dword [edi + 0x24]
lea ecx, [ebp - 0x1fb0]
call fcn.00545560
xorps xmm0, xmm0
lea ecx, [ebp - 0x1fb0]
push 0
push 0
movups xmmword [ebp - 0x2250], xmm0
movups xmmword [ebp - 0x2240], xmm0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2250]
call fcn.005337e0
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 0x688854
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.00532fd0
test eax, eax
je 0x55601b
push 0
push 0x621874
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2100]
call fcn.00542450
mov ecx, eax
call fcn.005425f0
test eax, eax
je 0x55601b
lea ecx, [ebp - 0x2100]
mov dword [ebp - 0x2f64], 0
call fcn.005425f0
test eax, eax
je 0x55601b
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.005425f0
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.00514200
cmp byte [esi + 4], 0
jne 0x556723
push dword [ebp - 0x2f64]
lea ecx, [ebp - 0x2100]
call fcn.00542600
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545870
push 3
lea ecx, [ebp - 0x1fb0]
call fcn.005434c0
lea ecx, [ebp - 0x1fb0]
call fcn.005451f0
test al, al
jne 0x555ff2
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.005457a0
cmp word [eax], 0x23
je 0x555ff2
push 0
push 8
lea eax, [ebp - 0x2070]
push eax
push dword [ebp - 0x2e40]
lea ecx, [ebp - 0x1fb0]
call fcn.00542a90
lea ecx, [ebp - 0x1f94]
call fcn.00545760
mov eax, dword [ebp - 0x2070]
cmp eax, 3
jae 0x555ebc
push 0x688870
lea ecx, [ebp - 0x1fcc]
call fcn.00545870
jmp 0x555f89
cmp eax, 1
mov ecx, 2
cmovbe eax, ecx
mov ecx, edi
mov dword [ebp - 0x2070], eax
mov eax, dword [ebp - 0x2068]
add eax, 0xc
push eax
call fcn.0043b2e0
cmp al, 1
jne 0x555f1b
mov eax, dword [ebp - 0x2070]
mov ecx, 3
cmp eax, 2
push 0x67c0c4
cmovbe eax, ecx
mov ecx, dword [ebp - 0x2068]
mov dword [ebp - 0x2070], eax
lea ecx, [ecx + 0x18]
call fcn.00545820
test al, al
jne 0x555ff2
push 0x67c030
jmp 0x555f46
test al, al
jne 0x555f31
push 0x67bff4
lea ecx, [ebp - 0x1fcc]
call fcn.00545870
jmp 0x555f5d
mov ecx, dword [ebp - 0x2f78]
mov dword [ebp - 0x2f90], ecx
cmp al, 2
jne 0x555f5d
push 0x67c078
lea ecx, [ebp - 0x1fcc]
call fcn.00545870
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.00545840
push 0
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
push 0x64d768
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x64d768
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x6888b0
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x556723
mov eax, dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x2100]
inc dword [ebp - 0x2f64]
add dword [ebp - 0x2e24], eax
call fcn.005425f0
cmp dword [ebp - 0x2f64], eax
jb 0x555de0
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.00514200
push 0
push 0x6888e0
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x2e40]
test eax, eax
je 0x556062
push eax
call fcn.00418d40
add esp, 4
mov ecx, dword [ebp - 0x2068]
mov dword [ebp - 0x2e40], 0
test ecx, ecx
je 0x55607d
push 3
call fcn.00401e60
lea ecx, [ebp - 0x2250]
call fcn.00401e00
lea ecx, [ebp - 0x2100]
mov byte [ebp - 4], 0x1f
call fcn.00542660
mov eax, dword [ebp - 0x2f9c]
test eax, 0x100
je 0x556405
push 1
mov dword [ebp - 0x2ec8], edi
lea ecx, [ebp - 0x2ec4]
push dword [edi + 0x1c]
call fcn.005458d0
push 0x2c
lea eax, [ebp - 0x2eac]
mov byte [ebp - 0x2eb8], 0
push 0
push eax
mov dword [ebp - 0x2eb4], 0
mov dword [ebp - 0x2eb0], 0
call fcn.004201d0
xorps xmm0, xmm0
mov dword [ebp - 0x2e80], 0
add esp, 0xc
movq qword [ebp - 0x2e78], xmm0
mov dword [ebp - 0x2e70], 0xffffffff
push 0x680d34
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x2e64]
movlpd qword [ebp - 0x2e64], xmm0
push str.ntdll.dll
mov dword [ebp - 0x2e64], 0
mov dword [ebp - 0x2e60], 0
call fcn.00404380
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x2e64]
test eax, eax
je 0x5563f6
cmp dword [ebp - 0x2e60], 0
je 0x5563eb
mov eax, dword [ebp - 0x2f7c]
mov ecx, eax
and ecx, 8
or ecx, 2
mov dword [ebp - 0x2eb4], ecx
test al, 2
jne 0x556180
or ecx, 0x10
mov dword [ebp - 0x2eb4], ecx
test al, 0x10
je 0x55618d
or ecx, 4
mov dword [ebp - 0x2eb4], ecx
push 8
push 0x680d50
lea ecx, [ebp - 0x1fb0]
call fcn.00542d50
mov ecx, dword [ebp - 0x2eb0]
mov esi, eax
test ecx, ecx
je 0x5561b4
push ecx
call fcn.00418d40
add esp, 4
lea eax, [ebp - 0x2018]
mov dword [ebp - 0x2eb0], esi
xorps xmm0, xmm0
mov dword [ebp - 0x2ea8], eax
mov eax, dword [ebp - 0x2e60]
lea ecx, [ebp - 0x2e80]
push 0x800
mov dword [ebp - 0x2eac], 0
mov byte [ebp - 0x2ea4], 0
movlpd qword [ebp - 0x2ea0], xmm0
movlpd qword [ebp - 0x2e98], xmm0
movlpd qword [ebp - 0x2e90], xmm0
mov dword [ebp - 0x2e88], eax
mov dword [ebp - 0x2e84], 0x800
call fcn.00403f80
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea eax, [ebp - 0x2278]
push dword [ebp - 0x2f98]
lea ecx, [ebp - 0x1fa0]
mov dword [ebp - 0x2e74], eax
push 0x688990
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 0x680ec0
push 0xffffffffffffffb0
lea ecx, [edi + 0x14c0]
call fcn.00514200
push 0
push 0
lea eax, [ebp - 0x2ec8]
mov dword [ebp - 0x2e58], 0
push eax
push 0x468e30
push 0
push 0
call dword [0x5fd394]
mov dword [ebp - 0x2e58], eax
test eax, eax
jne 0x5562b0
or eax, 0xffffffff
mov dword [ebp - 0x2e58], eax
xor edx, edx
mov byte [ebp - 4], 0x40
mov ecx, eax
call fcn.0052a250
test al, al
je 0x556303
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.0052a250
test al, al
jne 0x5562d0
mov edi, dword [ebp - 0x2fa0]
cmp byte [ebp - 0x2eb8], 0
mov ecx, 0x688a80
mov eax, 0x688a48
cmove eax, ecx
lea ecx, [ebp - 0x1fb0]
push eax
call fcn.00545870
push fcn.00545790
push fcn.00545940
push 2
push 0xc
lea eax, [ebp - 0x48]
push eax
call fcn.0041eab1
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x48]
push dword [ebp - 0x2e9c]
push dword [ebp - 0x2ea0]
call fcn.005448c0
push dword [ebp - 0x2e94]
lea ecx, [ebp - 0x3c]
push dword [ebp - 0x2e98]
call fcn.005448c0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x688ad0
lea ecx, [ebp - 0x3c]
call fcn.005454f0
push eax
push 0x688b28
lea ecx, [ebp - 0x48]
call fcn.005454f0
push eax
push 0x621874
lea ecx, [ebp - 0x1fb0]
call fcn.00543b40
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 0
push 0x688b60
lea ecx, [ebp - 0x2018]
call fcn.00532850
push fcn.00545790
push 2
push 0xc
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x40
push eax
call fcn.0041e708
lea ecx, [ebp - 0x2e58]
call fcn.004015f0
mov eax, dword [ebp - 0x2e64]
test eax, eax
je 0x5563f6
push eax
call dword [0x5fd2f8]
lea ecx, [ebp - 0x2ec8]
mov byte [ebp - 4], 0x1f
call fcn.00404260
mov eax, dword [ebp - 0x2f9c]
test eax, 0x200
je 0x55679e
lea ecx, [ebp - 0x2f50]
call fcn.004042b0
mov eax, dword [ebp - 0x2f7c]
lea ecx, [edi + 0x14c0]
push 0x688c08
mov byte [ebp - 4], 0x42
push 0xffffffffffffffb0
mov dword [ebp - 0x2f50], eax
call fcn.00514200
mov esi, dword [ebp - 0x2f88]
mov ecx, edi
lea eax, [esi + 4]
push eax
push dword [edi + 0x1c]
call fcn.0054dd10
mov dword [ebp - 0x2f48], eax
mov dword [ebp - 0x2f44], edx
cmp eax, 0xffffffff
jne 0x556470
cmp edx, eax
je 0x55670c
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x688c68
push 0x688cec
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
mov eax, dword [ebp - 0x2fd4]
xorps xmm0, xmm0
mov dword [ebp - 0x2f20], eax
lea eax, [ebp - 0x2230]
push eax
movlpd qword [ebp - 0x2f40], xmm0
movlpd qword [ebp - 0x2f38], xmm0
movlpd qword [ebp - 0x2f30], xmm0
movlpd qword [ebp - 0x2f28], xmm0
call dword [0x5fd2dc]
lea ecx, [ebp - 0x2230]
call fcn.005338b0
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 0x688d2c
mov dword [ebp - 0x2f14], eax
call fcn.005454f0
push eax
lea ecx, [ebp - 0x210c]
call fcn.00545880
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.005454f0
push eax
lea ecx, [ebp - 0x21d8]
call fcn.005337e0
push dword [ebp - 0x2fa4]
lea eax, [ebp - 0x21d8]
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0x2f0c]
mov dword [ebp - 0x2f10], eax
call fcn.00404200
push 0x688d60
push 0
lea ecx, [edi + 0x14c0]
call fcn.00514200
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.0054e060
push 0
push 0x688db0
lea ecx, [ebp - 0x2018]
mov byte [ebp - 0x2f65], al
call fcn.00532850
push 0
lea ecx, [ebp - 0x21d8]
call fcn.00532710
push 0
push 0x20
lea ecx, [ebp - 0x210c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x21d8]
call fcn.00533190
test eax, eax
je 0x5566c3
push 0
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x21d8]
call fcn.00532fd0
cmp eax, 2
jbe 0x5566c3
cmp dword [ebp - 0x2f48], 0xffffffff
jne 0x556664
cmp dword [ebp - 0x2f44], 0xffffffff
je 0x5566f6
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x688e60
push 0x688ed0
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 0
push 0x688f20
lea ecx, [ebp - 0x2018]
call fcn.00532850
push 0
lea ecx, [ebp - 0x21d8]
call fcn.00532710
push 2
lea ecx, [ebp - 0x210c]
call fcn.005454f0
push eax
lea ecx, [edi + 0x1298]
call fcn.004d5850
cmp byte [ebp - 0x2f65], 0
jne 0x556773
lea ecx, [ebp - 0x21d8]
call fcn.00401e00
lea ecx, [ebp - 0x210c]
call fcn.00545790
lea ecx, [ebp - 0x2f50]
call fcn.004042f0
mov byte [ebp - 0x2f65], 2
jmp 0x5576d0
mov eax, dword [ebp - 0x2e40]
test eax, eax
je 0x556736
push eax
call fcn.00418d40
add esp, 4
mov ecx, dword [ebp - 0x2068]
mov dword [ebp - 0x2e40], 0
test ecx, ecx
je 0x556751
push 3
call fcn.00401e60
lea ecx, [ebp - 0x2250]
call fcn.00401e00
lea ecx, [ebp - 0x2100]
call fcn.00542660
mov byte [ebp - 0x2f65], 2
jmp 0x5576d0
lea ecx, [ebp - 0x21d8]
call fcn.00401e00
lea ecx, [ebp - 0x210c]
call fcn.00545790
lea ecx, [ebp - 0x2f50]
mov byte [ebp - 4], 0x1f
call fcn.004042f0
mov eax, dword [ebp - 0x2f9c]
test eax, 0x400
je 0x5576c9
mov ecx, dword [ebp - 0x2fcc]
call fcn.00542020
cmp eax, 9
jle 0x5576c9
xorps xmm0, xmm0
mov dword [ebp - 0x20ac], 0
lea ecx, [ebp - 0x20b4]
movq qword [ebp - 0x20b4], xmm0
call fcn.00545940
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0x209c]
xorps xmm0, xmm0
mov dword [ebp - 0x2094], 0
movq qword [ebp - 0x209c], xmm0
call fcn.00545940
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x20d8]
xorps xmm0, xmm0
mov dword [ebp - 0x20d0], 0
movq qword [ebp - 0x20d8], xmm0
call fcn.00545940
lea ecx, [ebp - 0x1fc0]
mov byte [ebp - 4], 0x47
call fcn.00545760
push 0
push 0x621874
push dword [ebp - 0x2fcc]
xorps xmm0, xmm0
lea ecx, [ebp - 0x20cc]
movups xmmword [ebp - 0x20cc], xmm0
movq qword [ebp - 0x20bc], xmm0
call fcn.00542680
lea ecx, [ebp - 0x20cc]
mov byte [ebp - 4], 0x48
call fcn.005425f0
cmp eax, 1
jbe 0x55769d
lea ecx, [ebp - 0x20cc]
call fcn.005425f0
test eax, eax
je 0x55769d
xor esi, esi
xor edi, edi
nop dword [eax]
push esi
lea ecx, [ebp - 0x20cc]
call fcn.00542600
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545870
lea ecx, [ebp - 0x1fb0]
call fcn.00545700
test eax, eax
je 0x55692c
push 3
lea ecx, [ebp - 0x1fb0]
call fcn.005434c0
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.005457a0
cmp word [eax], 0x3c
jne 0x55690d
lea ecx, [ebp - 0x1fb0]
call fcn.00545700
dec eax
lea ecx, [ebp - 0x1fb0]
push eax
call fcn.005457a0
cmp word [eax], 0x3e
jne 0x55690d
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x1fc0]
call fcn.00545840
jmp 0x55692c
lea ecx, [ebp - 0x1fc0]
call fcn.00545700
test eax, eax
je 0x55692c
lea ecx, [ebp - 0x1fb0]
call fcn.00545700
test eax, eax
je 0x55692c
inc edi
lea ecx, [ebp - 0x20cc]
inc esi
call fcn.005425f0
cmp esi, eax
jb 0x556890
mov esi, dword [ebp - 0x2f88]
test edi, edi
mov edi, dword [ebp - 0x2fa0]
je 0x55769d
push 0x688fd0
push 0
lea ecx, [edi + 0x14c0]
call fcn.00514200
lea ecx, [ebp - 0x20cc]
mov dword [ebp - 0x2f6c], 0
call fcn.005425f0
test eax, eax
je 0x55768b
mov dword [ebp - 0x2e24], 0
nop dword [eax]
lea eax, [ebp - 0x1fc0]
push eax
lea ecx, [ebp - 0x20b4]
call fcn.00545840
push dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x20cc]
call fcn.00542600
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00545870
push 3
lea ecx, [ebp - 0x1fb0]
call fcn.005434c0
lea ecx, [ebp - 0x1fb0]
call fcn.00545700
test eax, eax
je 0x556a49
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.005457a0
cmp word [eax], 0x3c
jne 0x556a49
lea ecx, [ebp - 0x1fb0]
call fcn.00545700
dec eax
lea ecx, [ebp - 0x1fb0]
push eax
call fcn.005457a0
cmp word [eax], 0x3e
jne 0x556a49
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x1fc0]
call fcn.00545840
push 0
push 1
push 1
push 0
lea ecx, [ebp - 0x1fc0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fb0]
call fcn.00543e30
mov dword [ebp - 0x2f64], eax
jmp 0x556a53
mov dword [ebp - 0x2f64], 0
push 0x689028
lea ecx, [ebp - 0x1fc0]
call fcn.005457e0
test al, al
je 0x556a74
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.00544f60
push 0x689028
lea ecx, [ebp - 0x1fc0]
call fcn.00545820
test al, al
je 0x556dd1
cmp dword [ebp - 0x2f64], 0
je 0x556aac
push 0
push 0x689040
lea ecx, [ebp - 0x2018]
call fcn.00532850
jmp 0x557479
lea ecx, [ebp - 0x1fb0]
call fcn.00545700
cmp eax, 3
jle 0x557479
lea eax, [ebp - 0x1fb0]
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545840
push 1
lea ecx, [ebp - 0x1f94]
call fcn.00545280
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x689068
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x68908c
lea ecx, [ebp - 0x1f94]
call fcn.00545560
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20cc]
call fcn.005425f0
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00514200
cmp byte [esi + 4], 0
jne 0x557790
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6890ac
lea ecx, [edi + 0x14c]
call fcn.005454f0
push eax
push 0x622a50
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x6890c8
push dword [edi + 0x24]
lea ecx, [ebp - 0x1f94]
call fcn.00545560
push 0
push 0
mov dword [ebp - 0x2e3c], 0
lea ecx, [ebp - 0x1f94]
push dword [edi + 0x24]
call fcn.005454f0
mov edx, eax
xor ecx, ecx
call fcn.00531b40
mov dword [ebp - 0x2e3c], eax
mov ecx, eax
test eax, eax
jne 0x556bc8
or eax, 0xffffffff
mov dword [ebp - 0x2e3c], eax
or ecx, eax
mov byte [ebp - 4], 0x49
cmp ecx, 0xffffffff
je 0x556d78
test ecx, ecx
je 0x556d78
xor edx, edx
mov ecx, eax
call fcn.0052a250
test al, al
je 0x556c13
nop word [eax + eax]
cmp byte [esi + 4], 0
jne 0x557766
push 5
call dword [0x5fd45c]
mov ecx, dword [ebp - 0x2e3c]
xor edx, edx
call fcn.0052a250
test al, al
jne 0x556bf0
lea eax, [ebp - 0x20e8]
mov dword [ebp - 0x20e8], 0
push eax
push dword [ebp - 0x2e3c]
call dword [0x5fd3f4]
cmp dword [ebp - 0x20e8], 0
jne 0x556d78
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6890ec
lea ecx, [edi + 0x14c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545560
xorps xmm0, xmm0
lea ecx, [ebp - 0x1f94]
push 0
push 0x20
movups xmmword [ebp - 0x2270], xmm0
movups xmmword [ebp - 0x2260], xmm0
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2270]
call fcn.005337e0
push 0
lea eax, [ebp - 0x1f94]
mov byte [ebp - 4], 0x4a
push eax
lea ecx, [ebp - 0x2270]
call fcn.00532fd0
push 0
lea ecx, [ebp - 0x2270]
call fcn.00532710
push 2
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
lea ecx, [edi + 0x1298]
call fcn.004d5850
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x687dcc
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x689100
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 8
push 0
push 0x61d060
push 0x689140
lea ecx, [ebp - 0x1f94]
call fcn.00542a40
lea eax, [ebp - 0x1f94]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
push 0
push 0x621874
lea ecx, [ebp - 0x2018]
call fcn.00532850
lea ecx, [ebp - 0x2270]
call fcn.00401e00
lea ecx, [ebp - 0x2e3c]
mov byte [ebp - 4], 0x48
call fcn.004015f0
jmp 0x557479
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x689168
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x6891b8
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
lea ecx, [ebp - 0x2e3c]
mov byte [ebp - 4], 0x48
call fcn.004015f0
jmp 0x557479
push 0x6891c8
lea ecx, [ebp - 0x1fc0]
call fcn.00545820
test al, al
je 0x557193
cmp dword [ebp - 0x2f64], 0
je 0x556e3a
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x6891d8
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
jmp 0x557479
lea ecx, [ebp - 0x1fb0]
call fcn.00545700
cmp eax, 1
jle 0x557479
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x655b3c
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x689264
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea ecx, [ebp - 0x1fa0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20cc]
call fcn.005425f0
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00514200
cmp byte [esi + 4], 0
jne 0x557790
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x689294
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x68929c
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
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.00545910
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d1a8
push 0x5c
lea ecx, [ebp - 0x2148]
mov byte [ebp - 4], 0x4b
call fcn.00543470
mov ecx, eax
call fcn.00543410
mov ecx, eax
call fcn.00543b40
push 0x250
xorps xmm0, xmm0
lea eax, [ebp - 0x29f8]
push 0
movups xmmword [ebp - 0x27a8], xmm0
push eax
mov dword [ebp - 0x27a8], 0xffffffff
call fcn.004201d0
add esp, 0xc
push 1
lea ecx, [ebp - 0x2148]
mov byte [ebp - 4], 0x4c
call fcn.005454f0
push eax
lea ecx, [ebp - 0x29f8]
call fcn.00401820
test al, al
je 0x55715b
nop
cmp byte [esi + 4], 0
jne 0x557773
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 0x61d058
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1f94]
call fcn.00545560
test byte [ebp - 0x29f8], 0x10
lea ecx, [ebp - 0x1f94]
je 0x557043
push 1
call fcn.005454f0
push eax
mov ecx, edi
call fcn.004630f0
mov ecx, eax
and ecx, edx
cmp ecx, 0xffffffff
je 0x557773
push 4
push 0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00544260
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6880e8
jmp 0x5570fd
lea eax, [ebp - 0x1fe4]
push eax
lea eax, [ebp - 0x1fd8]
push eax
lea eax, [ebp - 0x1fcc]
push eax
push dword [ebp - 0x2f7c]
call fcn.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x557146
push 4
push 0
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
mov ecx, eax
call fcn.0052fee0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00544260
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
test al, al
je 0x557146
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2024]
call fcn.005454f0
push eax
push 0x64d768
lea ecx, [ebp - 0x1f94]
call fcn.005454f0
push eax
push 0x6892c8
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
cmp byte [esi + 4], 0
jne 0x557773
lea ecx, [ebp - 0x29f8]
call fcn.004017d0
test al, al
jne 0x556fb0
jmp 0x55716d
push 0
push 0x6892f0
lea ecx, [ebp - 0x2018]
call fcn.00532850
mov eax, dword [ebp - 0x27a8]
cmp eax, 0xffffffff
je 0x55717f
push eax
call dword [0x5fd4a8]
lea ecx, [ebp - 0x2148]
mov byte [ebp - 4], 0x48
call fcn.00545790
jmp 0x557479
push 0x689350
lea ecx, [ebp - 0x1fc0]
call fcn.00545820
test al, al
je 0x557346
cmp dword [ebp - 0x2f64], 0
je 0x5571fc
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621874
push dword [ebp - 0x2f94]
lea ecx, [ebp - 0x1fa0]
push dword [ebp - 0x2f98]
push 0x689360
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
jmp 0x557479
lea ecx, [ebp - 0x1fb0]
call fcn.00545700
cmp eax, 3
jle 0x557479
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x62e438
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x6893e0
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea ecx, [ebp - 0x1fa0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20cc]
call fcn.005425f0
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00514200
cmp byte [esi + 4], 0
jne 0x557790
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.005454f0
push eax
mov ecx, edi
call fcn.0054f180
push 4
push 0
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
mov ecx, eax
call fcn.0052fee0
push edx
push eax
lea ecx, [ebp - 0x2024]
call fcn.00544260
push 0
push 0
push 0
push 0
push 0x621874
lea ecx, [ebp - 0x1fe4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fd8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fcc]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x2024]
call fcn.005454f0
push eax
push 0x64d768
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
push 0x6892c8
lea ecx, [ebp - 0x1fa0]
call fcn.00545560
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
jmp 0x557479
push 0x6893f8
lea ecx, [ebp - 0x1fc0]
call fcn.00545820
test al, al
je 0x557479
cmp dword [ebp - 0x2f64], 0
je 0x55740a
push 1
push 0x689410
lea ecx, [ebp - 0x1fa0]
call fcn.005455c0
lea eax, [ebp - 0x1fa0]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
lea ecx, [ebp - 0x1fc0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20b4]
call fcn.005457e0
test al, al
je 0x557479
push 1
push 0x626bb0
lea ecx, [ebp - 0x1fa0]
call fcn.005455c0
lea ecx, [ebp - 0x1fa0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20cc]
call fcn.005425f0
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00514200
lea ecx, [ebp - 0x209c]
call fcn.00545760
lea ecx, [ebp - 0x20d8]
call fcn.00545760
jmp 0x557479
lea ecx, [ebp - 0x1fb0]
call fcn.00545700
cmp eax, 3
jle 0x557479
push 0
lea ecx, [ebp - 0x20cc]
call fcn.005425f0
mov ecx, eax
xor edx, edx
mov eax, dword [ebp - 0x2e24]
div ecx
lea ecx, [edi + 0x14c0]
push eax
call fcn.00514200
cmp byte [esi + 4], 0
jne 0x557790
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x621af8
lea ecx, [ebp - 0x1fb0]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x209c]
call fcn.00543b40
lea ecx, [ebp - 0x209c]
call fcn.00545700
cmp eax, 4
jle 0x557667
push 0x6893f8
lea ecx, [ebp - 0x20b4]
call fcn.00545820
test al, al
je 0x557667
lea ecx, [ebp - 0x20b4]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x1fc0]
call fcn.005457e0
test al, al
jne 0x5574d8
lea ecx, [ebp - 0x20cc]
call fcn.005425f0
dec eax
cmp dword [ebp - 0x2f6c], eax
jne 0x557667
mov ecx, edi
call fcn.0045dc60
or eax, 8
lea ecx, [ebp - 0x20d8]
push eax
push 0
push 0
push 0xffff
call fcn.00544ce0
push eax
lea ecx, [ebp - 0x209c]
call fcn.005454f0
mov edx, 0x664ac8
mov ecx, eax
call fcn.00507840
xorps xmm0, xmm0
lea ecx, [ebp - 0x21f0]
movups xmmword [ebp - 0x21f0], xmm0
movq qword [ebp - 0x21e0], xmm0
call fcn.00542700
xorps xmm0, xmm0
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x21b8]
movq qword [ebp - 0x21a8], xmm0
movups xmmword [ebp - 0x21b8], xmm0
call fcn.00542700
push 0
push 0x621af8
lea ecx, [ebp - 0x209c]
mov byte [ebp - 4], 0x4e
call fcn.005454f0
push eax
lea ecx, [ebp - 0x21f0]
call fcn.00542450
push 0
push 0x621af8
lea ecx, [ebp - 0x20d8]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x21b8]
call fcn.00542450
lea ecx, [ebp - 0x21f0]
call fcn.005425f0
lea ecx, [ebp - 0x21b8]
mov dword [ebp - 0x2f64], eax
call fcn.005425f0
cmp eax, dword [ebp - 0x2f64]
jae 0x5575c4
lea ecx, [ebp - 0x21b8]
call fcn.005425f0
mov dword [ebp - 0x2f64], eax
jmp 0x5575ca
mov eax, dword [ebp - 0x2f64]
mov dword [ebp - 0x2fa4], 0
test eax, eax
je 0x55764d
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 0x621874
push esi
lea ecx, [ebp - 0x21b8]
call fcn.00542600
push eax
push 0x64d768
push esi
lea ecx, [ebp - 0x21f0]
call fcn.00542600
push eax
push 0x6894ac
lea ecx, [ebp - 0x1f94]
call fcn.00545560
lea eax, [ebp - 0x1f94]
push eax
lea ecx, [ebp - 0x2018]
call fcn.00532a70
inc esi
cmp esi, edi
jb 0x5575e8
mov edi, dword [ebp - 0x2fa0]
mov esi, dword [ebp - 0x2f88]
lea ecx, [ebp - 0x21b8]
call fcn.00542660
lea ecx, [ebp - 0x21f0]
mov byte [ebp - 4], 0x48
call fcn.00542660
inc dword [ebp - 0x2f6c]
lea ecx, [ebp - 0x20cc]
add dword [ebp - 0x2e24], 0x64
call fcn.005425f0
cmp dword [ebp - 0x2f6c], eax
jb 0x556990
push 0
push 0x6894d0
lea ecx, [ebp - 0x2018]
call fcn.00532850
lea ecx, [ebp - 0x20cc]
call fcn.00542660
lea ecx, [ebp - 0x20d8]
call fcn.00545790
lea ecx, [ebp - 0x209c]
call fcn.00545790
lea ecx, [ebp - 0x20b4]
call fcn.00545790
mov byte [ebp - 0x2f65], 1
mov eax, dword [ebp - 0x2e38]
test eax, eax
je 0x5576e3
push eax
call fcn.00418d40
add esp, 4
lea ecx, [ebp - 0x2160]
mov dword [ebp - 0x2e38], 0
call fcn.00545790
lea ecx, [ebp - 0x2040]
call fcn.00545790
lea ecx, [ebp - 0x207c]
call fcn.00545790
lea ecx, [ebp - 0x2e30]
call fcn.0053fe70
mov ecx, dword [ebp - 0x1ff8]
test ecx, ecx
je 0x55772a
push 3
call fcn.00401e60
mov ecx, dword [ebp - 0x2090]
test ecx, ecx
je 0x55773b
push 3
call fcn.00401e60
mov ecx, dword [ebp - 0x2054]
test ecx, ecx
je 0x55774c
push 3
call fcn.00401e60
mov ecx, dword [ebp - 0x2030]
test ecx, ecx
je 0x550e43
push 3
call fcn.00401e60
jmp 0x550e43
lea ecx, [ebp - 0x2e3c]
call fcn.004015f0
jmp 0x557790
mov eax, dword [ebp - 0x27a8]
cmp eax, 0xffffffff
je 0x557785
push eax
call dword [0x5fd4a8]
lea ecx, [ebp - 0x2148]
call fcn.00545790
lea ecx, [ebp - 0x20cc]
call fcn.00542660
lea ecx, [ebp - 0x20d8]
call fcn.00545790
lea ecx, [ebp - 0x209c]
call fcn.00545790
lea ecx, [ebp - 0x20b4]
call fcn.00545790
mov byte [ebp - 0x2f65], 2
jmp 0x5576d0