Function at 0x4b3cf0
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Get common file path
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fb32a
mov eax, dword fs:[0]
push eax
sub esp, 0x604
mov eax, dword [0x529748]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor eax, eax
mov dword [ebp - 0x22c], eax
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x4ec], eax
mov byte [ebp - 0x4f4], al
call edi
mov ecx, eax
call fcn.0048eb00
test eax, eax
mov dword [ebp - 0x28c], 0
mov edx, str.IBEMDyc1PT00NB0qIjI_JDorJwU1LzIjeA
lea ecx, [ebp - 0x270]
setne byte [ebp - 0x4dd]
call fcn.004bbca0
mov dword [ebp - 4], 0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
jne 0x4b3d81
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
lea ecx, [ebp - 0x28c]
call fcn.00416150
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x270]
test eax, eax
je 0x4b3dc2
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
mov edx, str.HDp8d3VhbREbEnVkbmQXemJ1DXl5A29pBGF7YA5xcwcNAAUQFGYnKmgUYBVoYmQBZH5kexJ9dH0PYWAAcAIMb3ZmZWQcaW9nYWYUZC4Z
mov dword [ebp - 0x27c], 0
lea ecx, [ebp - 0x250]
call fcn.004bbca0
mov byte [ebp - 4], 3
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
jne 0x4b3df3
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
lea ecx, [ebp - 0x27c]
call fcn.00416150
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x250]
test eax, eax
je 0x4b3e34
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
mov edx, str.FA4JFhEXBxEGHDExJDgiODUwFRw9LDM_Mj8XEzgzNSQhNhAzJyczPjYOESUIiNkGSQ4KzQpGQQiIzkuNTgTOXVjZmNiFBkRe2FpZBVpeHoQcHoRfXUKfX1xBHF7BAQUFhIbYyU
mov dword [ebp - 0x254], 0
lea ecx, [ebp - 0x270]
call fcn.004bba60
mov byte [ebp - 4], 6
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 1
jne 0x4b3e67
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
lea ecx, [ebp - 0x254]
call fcn.0048e020
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x270]
test eax, eax
je 0x4b3ea8
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
call fcn.00415c00
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4b3ec4
push 0x80004005
call fcn.004162a0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2b0], eax
mov byte [ebp - 4], 9
mov esi, dword [0x5300d4]
mov dword [ebp - 0x274], 0
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jne 0x4b3ef7
mov ecx, esi
call fcn.004ab540
push dword [esi]
lea ecx, [ebp - 0x274]
call fcn.00415690
lea eax, [ebp - 0x228]
mov byte [ebp - 4], 0xa
push eax
push 0
push 0
push 0x25
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test eax, eax
js 0x4b70e6
lea ecx, [ebp - 0x2b0]
call fcn.004155a0
lea ecx, [ebp - 0x228]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4b3f40
sub ecx, edx
lea eax, [ebp - 0x228]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x2b0]
call fcn.0049c940
mov dword [ebp - 0x2a8], 0
call fcn.00415c00
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4b3f88
push 0x80004005
call fcn.004162a0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x2a8], eax
mov edx, str.ADMgNzYGOjgzMiE
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x264]
call fcn.004bba60
mov byte [ebp - 4], 0xc
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 1
jne 0x4b3fc5
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
push dword [ebp - 0x2b0]
lea ecx, [ebp - 0x2a8]
call fcn.004bb8a0
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x4b3fee
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x280], 0
call fcn.00415c00
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4b4014
push 0x80004005
call fcn.004162a0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x280], eax
mov edx, str.CiAsKi84MA
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x264]
call fcn.004bba60
mov byte [ebp - 4], 0xe
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 1
jne 0x4b4051
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
push dword [ebp - 0x2a8]
lea ecx, [ebp - 0x280]
call fcn.004bb8a0
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x4b407a
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x288], 0
call fcn.00415c00
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4b40a0
push 0x80004005
call fcn.004162a0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x288], eax
mov edx, str.IDE7bC84PA
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x264]
call fcn.004bba60
mov byte [ebp - 4], 0x10
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 1
jne 0x4b40dd
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
push dword [ebp - 0x2a8]
lea ecx, [ebp - 0x288]
call fcn.004bb8a0
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x4b4106
push eax
call fcn.004191e0
add esp, 4
call fcn.00415c00
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4b4122
push 0x80004005
call fcn.004162a0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x258], eax
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x534]
mov edx, str.FC4pNjE3JzEGATcPzQ4MiAYDiQ7JTs1GQ8jIiIsIh0KOjIzOyczPjYbOCQlNj8oHiM9NjI8LD8_
mov dword [ebp - 0x284], 0
call fcn.004bbca0
mov byte [ebp - 4], 0x12
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
jne 0x4b4167
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
lea ecx, [ebp - 0x284]
call fcn.00415690
mov eax, dword [ebp - 0x534]
test eax, eax
je 0x4b41a4
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x534], 0
mov dword [ebp - 0x530], 0
mov dword [ebp - 0x52c], 0
mov esi, dword [ebp - 0x254]
xorps xmm0, xmm0
or ebx, 0xffffffff
movq qword [ebp - 0x270], xmm0
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x23c], ebx
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
mov byte [ebp - 4], 0x15
call edi
mov ecx, eax
call fcn.0048eb00
neg eax
lea ecx, [ebp - 0x270]
sbb eax, eax
and eax, 0xffffff00
add eax, 0x20219
push eax
push esi
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.0049c070
test eax, eax
jne 0x4b4712
mov eax, dword [ebp - 0x270]
test eax, eax
je 0x4b422c
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
xorps xmm0, xmm0
mov dword [ebp - 0x248], 0
movq qword [ebp - 0x250], xmm0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
mov byte [ebp - 4], 0x16
call fcn.00415c00
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4b427f
push 0x80004005
call fcn.004162a0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
lea ebx, [eax + 0x10]
mov dword [ebp - 0x278], ebx
mov byte [ebp - 4], 0x17
call fcn.00415c00
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4b42af
push 0x80004005
call fcn.004162a0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x234], edi
mov byte [ebp - 4], 0x18
call fcn.00415c00
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4b42df
push 0x80004005
call fcn.004162a0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x238], esi
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x270]
mov edx, 0x514d48
mov dword [ebp - 0x244], 0
call fcn.004bba60
mov byte [ebp - 4], 0x1a
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 1
jne 0x4b4326
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
lea ecx, [ebp - 0x244]
call fcn.0048e020
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x270]
test eax, eax
je 0x4b4367
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
mov edx, dword [ebp - 0x254]
lea eax, [ebp - 0x250]
push ecx
push eax
lea ecx, [ebp - 0x4dc]
mov dword [ebp - 0x4dc], reloc.OLEAUT32.dll_SysReAllocString
call fcn.004a66e0
mov ecx, dword [ebp - 0x24c]
xor eax, eax
mov edx, dword [ebp - 0x250]
add esp, 8
sub ecx, edx
mov dword [ebp - 0x4dc], eax
sar ecx, 2
mov dword [ebp - 0x240], ecx
test ecx, ecx
je 0x4b460f
mov edx, dword [edx + eax*4]
lea esi, [edi - 0x10]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x4b4415
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x4b4400
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x4b4400
call fcn.0049ca30
mov dword [ebp - 0x4f0], eax
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x4b43f5
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x4f0]
lea edi, [eax + 0x10]
mov dword [ebp - 0x234], edi
jmp 0x4b4415
push dword [edx - 0xc]
lea ecx, [ebp - 0x234]
push edx
call fcn.0048ded0
mov edi, dword [ebp - 0x234]
mov edx, str.Gw
lea ecx, [ebp - 0x20]
call fcn.004bbca0
mov byte [ebp - 4], 0x1d
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
je 0x4b3d77
push ecx
lea ecx, [ebp - 0x22c]
call fcn.00415690
lea eax, [ebp - 0x22c]
mov byte [ebp - 4], 0x1e
push eax
lea edx, [ebp - 0x254]
lea ecx, [ebp - 0x4e8]
call fcn.0049b980
add esp, 4
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x1f
push ecx
mov edx, eax
lea ecx, [ebp - 0x4f8]
call fcn.0049b980
add esp, 4
mov byte [ebp - 4], 0x20
lea esi, [ebx - 0x10]
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x4b44dd
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x4b44c8
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x4b44c8
call fcn.0049ca30
mov dword [ebp - 0x4f0], eax
or ecx, 0xffffffff
lock xadd dword [ebx], ecx
dec ecx
test ecx, ecx
jg 0x4b44bd
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x4f0]
lea ebx, [eax + 0x10]
mov dword [ebp - 0x278], ebx
jmp 0x4b44dd
push dword [edx - 0xc]
lea ecx, [ebp - 0x278]
push edx
call fcn.0048ded0
mov ebx, dword [ebp - 0x278]
mov byte [ebp - 4], 0x1f
or ecx, 0xffffffff
mov edx, dword [ebp - 0x4f8]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b4501
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1e
or ecx, 0xffffffff
mov edx, dword [ebp - 0x4e8]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b4525
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1d
or ecx, 0xffffffff
mov edx, dword [ebp - 0x22c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b4549
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4b4572
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
push 1
lea eax, [ebp - 0x238]
mov dword [ebp - 0x4f0], reloc.OLEAUT32.dll_SysReAllocString
push eax
push dword [ebp - 0x244]
mov edx, ebx
lea ecx, [ebp - 0x4f0]
call fcn.004a65e0
mov esi, dword [ebp - 0x238]
add esp, 0xc
test eax, eax
jne 0x4b45dd
test esi, esi
setne al
test eax, eax
je 0x4b3eba
push esi
push dword [ebp - 0x280]
call fcn.004bf63a
add esp, 8
test eax, eax
je 0x4b45fd
push edi
call dword [sym.imp.SHLWAPI.dll_StrToIntW]
mov ecx, dword [ebp - 0x23c]
cmp eax, ecx
cmovg ecx, eax
mov dword [ebp - 0x23c], ecx
mov eax, dword [ebp - 0x4dc]
inc eax
mov dword [ebp - 0x4dc], eax
cmp eax, dword [ebp - 0x240]
jae 0x4b460f
mov edx, dword [ebp - 0x250]
jmp 0x4b43b4
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x258]
call fcn.0049c100
mov byte [ebp - 4], 0x19
or ecx, 0xffffffff
mov edx, dword [ebp - 0x244]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b4633
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x18
or ecx, 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b4651
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 4], 0x17
or ecx, 0xffffffff
lea eax, [edi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b466f
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
add ebx, 0xfffffff0
mov byte [ebp - 4], 0x16
or ecx, 0xffffffff
lea eax, [ebx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b468d
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov edi, dword [ebp - 0x250]
test edi, edi
je 0x4b46d3
mov ebx, dword [ebp - 0x24c]
mov esi, edi
cmp edi, ebx
je 0x4b46ca
mov edx, dword [esi]
or ecx, 0xffffffff
sub edx, 0x10
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b46c3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 4
cmp esi, ebx
jne 0x4b46a7
push edi
call fcn.004191e0
add esp, 4
mov ebx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x258]
cmp dword [eax - 0xc], 0
jne 0x4b53d7
mov edx, str.Yig
lea ecx, [ebp - 0x264]
call fcn.004bba60
mov byte [ebp - 4], 0x21
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 1
jne 0x4b4729
push str.invalid_vector_T__subscript
call fcn.004bc548
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x270]
test eax, eax
je 0x4b46d9
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4b46d9
lea eax, [ebx + 1]
push eax
push ecx
lea eax, [ebp - 0x258]
push eax
call fcn.0049c630
mov byte [ebp - 4], 0x14
add esp, 0xc
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x4b4754
push eax
call fcn.004191e0
add esp, 4
mov edx, 0x5134f0
lea ecx, [ebp - 0x264]
call fcn.004bba60
mov byte [ebp - 4], 0x22
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
sar eax, 1
jne 0x4b477d
push str.invalid_vector_T__subscript
call fcn.004bc548
lea eax, [ebp - 0x258]
push eax
lea ecx, [ebp - 0x240]
call fcn.0049bcd0
add esp, 4
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x254]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0049c940
mov byte [ebp - 4], 0x22
or ecx, 0xffffffff
mov edx, dword [ebp - 0x240]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b47cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x4b47e2
push eax
call fcn.004191e0
add esp, 4
mov edx, dword [ebp - 0x254]
lea ecx, [ebp - 0x240]
push 1
mov dword [ebp - 0x240], reloc.OLEAUT32.dll_SysReAllocString
call fcn.0048ef00
add esp, 4
test eax, eax
jne 0x4b4e41
mov edx, str.CDE7Kyk4Jg
mov dword [ebp - 0x240], eax
lea ecx, [ebp - 0x298]
mov dword [ebp - 0x4e8], reloc.OLEAUT32.dll_SysReAllocString
call fcn.004bbca0
mov byte [ebp - 4], 0x24
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x22c], 1
sub eax, ecx
jne 0x4b484b
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
lea ecx, [ebp - 0x18]
call fcn.00415690
sub esp, 8
mov dword [ebp - 4], 0x25
mov edx, dword [ebp - 0x254]
lea ecx, [ebp - 0x240]
mov ebx, 3
mov dword [ebp - 0x22c], ebx
push ecx
push dword [eax]
lea ecx, [ebp - 0x4e8]
call fcn.004a6b40
add esp, 0x10
test eax, eax
jne 0x4b4e47
mov edx, str.ESQ9MS85Ow
mov dword [ebp - 0x240], 1
lea ecx, [ebp - 0x264]
mov dword [ebp - 0x4e8], reloc.OLEAUT32.dll_SysReAllocString
call fcn.004bbca0
mov dword [ebp - 4], 0x26
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x22c], 7
sub eax, ecx
jne 0x4b48d6
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
lea ecx, [ebp - 0x4e4]
call fcn.00415690
sub esp, 8
mov dword [ebp - 4], 0x27
mov edx, dword [ebp - 0x254]
lea ecx, [ebp - 0x240]
mov ebx, 0xf
mov dword [ebp - 0x22c], ebx
push ecx
push dword [eax]
lea ecx, [ebp - 0x4e8]
call fcn.004a6b40
add esp, 0x10
test eax, eax
jne 0x4b4e47
push eax
push 1
mov edx, str.Cy4sIyoRBRs
mov dword [ebp - 0x240], reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x2c4]
call fcn.004bbca0
mov dword [ebp - 4], 0x28
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x22c], 0x1f
sub eax, edx
jne 0x4b495d
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
mov ecx, esp
mov dword [ebp - 0x4ec], esp
push edx
call fcn.00415690
mov edx, str.AxIfIzI
mov dword [ebp - 4], 0x29
lea ecx, [ebp - 0x510]
call fcn.004bbca0
mov byte [ebp - 4], 0x2a
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x22c], 0x3f
sub eax, ecx
jne 0x4b49a4
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
lea ecx, [ebp - 0x244]
call fcn.00415690
mov ebx, 0x7f
mov dword [ebp - 4], 0x2b
mov dword [ebp - 0x22c], ebx
push dword [eax]
mov edx, dword [ebp - 0x254]
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], 0x2d
call fcn.0048f150
add esp, 0x10
test eax, eax
jne 0x4b4e47
push eax
push 1
push ecx
mov ecx, dword [ebp - 0x280]
mov esi, esp
mov dword [ebp - 0x240], reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x4ec], esp
lea ecx, [ecx - 0x10]
call fcn.0049ca30
add eax, 0x10
mov dword [esi], eax
mov edx, str.ASgjJxUvJgQ7JTA
mov dword [ebp - 4], 0x2e
lea ecx, [ebp - 0x504]
call fcn.004bbca0
mov byte [ebp - 4], 0x2f
mov ecx, eax
push 0
mov dword [ebp - 0x22c], 0xff
call fcn.00416660
push eax
lea ecx, [ebp - 0x23c]
call fcn.00415690
mov ebx, 0x1ff
mov dword [ebp - 4], 0x30
mov dword [ebp - 0x22c], ebx
push dword [eax]
mov edx, dword [ebp - 0x254]
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], 0x32
call fcn.0048f150
add esp, 0x10
test eax, eax
jne 0x4b4e47
push eax
push 1
mov edx, str.Cy4sIyp2EiY1JChyBjg9PjA9
mov dword [ebp - 0x240], reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x558]
call fcn.004bbca0
mov dword [ebp - 4], 0x33
mov ecx, eax
push 0
mov dword [ebp - 0x22c], 0x3ff
call fcn.00416660
push ecx
mov ecx, esp
mov dword [ebp - 0x4ec], esp
push eax
call fcn.00415690
mov edx, str.Ayg8Mio3LBo7PD0
mov dword [ebp - 4], 0x34
lea ecx, [ebp - 0x540]
call fcn.004bbca0
mov byte [ebp - 4], 0x35
mov ecx, eax
push 0
mov dword [ebp - 0x22c], 0x7ff
call fcn.00416660
push eax
lea ecx, [ebp - 0x234]
call fcn.00415690
mov ebx, 0xfff
mov dword [ebp - 4], 0x36
mov dword [ebp - 0x22c], ebx
push dword [eax]
mov edx, dword [ebp - 0x254]
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], 0x38
call fcn.0048f150
add esp, 0x10
test eax, eax
jne 0x4b4e47
push eax
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x4ec], esp
push dword [ebp - 0x27c]
mov dword [ebp - 0x240], reloc.OLEAUT32.dll_SysReAllocString
call fcn.00415690
mov edx, str.Ajk7JyglPDs0Ig
mov dword [ebp - 4], 0x39
lea ecx, [ebp - 0x54c]
call fcn.004bbca0
mov byte [ebp - 4], 0x3a
mov ecx, eax
push 0
mov dword [ebp - 0x22c], 0x1fff
call fcn.00416660
push eax
lea ecx, [ebp - 0x238]
call fcn.00415690
mov ebx, 0x3fff
mov dword [ebp - 4], 0x3b
mov dword [ebp - 0x22c], ebx
push dword [eax]
mov edx, dword [ebp - 0x254]
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], 0x3d
call fcn.0048f150
add esp, 0x10
test eax, eax
jne 0x4b4e47
push eax
push 1
mov edx, str.Cy4sIyo
mov dword [ebp - 0x240], reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x564]
call fcn.004bbca0
mov dword [ebp - 4], 0x3e
mov ecx, eax
push 0
mov dword [ebp - 0x22c], 0x7fff
call fcn.00416660
push ecx
mov ecx, esp
mov dword [ebp - 0x4ec], esp
push eax
call fcn.00415690
mov edx, str.CyghKQ
mov dword [ebp - 4], 0x3f
lea ecx, [ebp - 0x528]
call fcn.004bbca0
mov byte [ebp - 4], 0x40
mov ecx, eax
push 0
mov dword [ebp - 0x22c], 0xffff
call fcn.00416660
push eax
lea ecx, [ebp - 0x278]
call fcn.00415690
mov ebx, 0x1ffff
mov dword [ebp - 4], 0x41
mov dword [ebp - 0x22c], ebx
push dword [eax]
mov edx, dword [ebp - 0x254]
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], 0x43
call fcn.0048f150
add esp, 0x10
test eax, eax
jne 0x4b4e47
push eax
push 1
mov edx, str.Cy4sIyp2EiY1JChyBjg9PjA9
mov dword [ebp - 0x240], reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x51c]
call fcn.004bbca0
mov dword [ebp - 4], 0x44
mov ecx, eax
push 0
mov dword [ebp - 0x22c], 0x3ffff
call fcn.00416660
push ecx
mov ecx, esp
mov dword [ebp - 0x4ec], esp
push eax
call fcn.00415690
mov edx, str.ABEADCc7MA
mov dword [ebp - 4], 0x45
lea ecx, [ebp - 0x570]
call fcn.004bbca0
mov byte [ebp - 4], 0x46
mov ecx, eax
push 0
mov dword [ebp - 0x22c], 0x7ffff
call fcn.00416660
push eax
lea ecx, [ebp - 0x4dc]
call fcn.00415690
mov ebx, 0xfffff
mov dword [ebp - 4], 0x47
mov dword [ebp - 0x22c], ebx
push dword [eax]
mov edx, dword [ebp - 0x254]
lea ecx, [ebp - 0x240]
mov dword [ebp - 4], 0x49
call fcn.0048f150
add esp, 0x10
test eax, eax
jne 0x4b4e47
mov edx, str.ABEADi84Pg
mov dword [ebp - 0x240], 1
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x4e8], reloc.OLEAUT32.dll_SysReAllocString
call fcn.004bbca0
mov dword [ebp - 4], 0x4a
mov ecx, eax
push 0
mov dword [ebp - 0x22c], 0x1fffff
call fcn.00416660
push eax
lea ecx, [ebp - 0x4f0]
call fcn.00415690
sub esp, 8
mov dword [ebp - 4], 0x4b
mov edx, dword [ebp - 0x254]
lea ecx, [ebp - 0x240]
mov ebx, 0x3fffff
mov dword [ebp - 0x22c], ebx
push ecx
push dword [eax]
lea ecx, [ebp - 0x4e8]
call fcn.004a6b40
add esp, 0x10
test eax, eax
jne 0x4b4e47
mov edx, str.KxEuMCc7
mov dword [ebp - 0x240], eax
lea ecx, [ebp - 0x270]
mov dword [ebp - 0x4e8], reloc.OLEAUT32.dll_SysReAllocString
call fcn.004bbca0
mov dword [ebp - 4], 0x4c
mov ecx, eax
push 0
mov dword [ebp - 0x22c], 0x7fffff
call fcn.00416660
push eax
lea ecx, [ebp - 0x4f8]
call fcn.00415690
sub esp, 8
mov dword [ebp - 4], 0x4d
mov edx, dword [ebp - 0x254]
lea ecx, [ebp - 0x240]
mov ebx, 0xffffff
mov dword [ebp - 0x22c], ebx
push ecx
push dword [eax]
lea ecx, [ebp - 0x4e8]
call fcn.004a6b40
add esp, 0x10
test eax, eax
jne 0x4b4e47
mov byte [ebp - 0x22d], 1
jmp 0x4b4e4e
mov ebx, dword [ebp - 0x4ec]
mov byte [ebp - 0x22d], 0
mov dword [ebp - 4], 0x4c
test ebx, 0x800000
je 0x4b4e89
mov edx, dword [ebp - 0x4f8]
and ebx, 0xff7fffff
add edx, 0xfffffff0
mov dword [ebp - 0x22c], ebx
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b4e89
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test ebx, 0x400000
je 0x4b4ec8
mov eax, dword [ebp - 0x270]
and ebx, 0xffbfffff
test eax, eax
je 0x4b4ec8
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0
mov dword [ebp - 0x268], 0
mov dword [ebp - 4], 0x4a
test ebx, 0x200000
je 0x4b4f03
mov edx, dword [ebp - 0x4f0]
and ebx, 0xffdfffff
add edx, 0xfffffff0
mov dword [ebp - 0x22c], ebx
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b4f03
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test ebx, 0x100000
je 0x4b4f42
mov eax, dword [ebp - 0x250]
and ebx, 0xffefffff
test eax, eax
je 0x4b4f42
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 4], 0x48
test ebx, 0x80000
je 0x4b4f7d
mov edx, dword [ebp - 0x4dc]
and ebx, 0xfff7ffff
add edx, 0xfffffff0
mov dword [ebp - 0x22c], ebx
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b4f7d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test ebx, 0x40000
je 0x4b4fbc
mov eax, dword [ebp - 0x570]
and ebx, 0xfffbffff
test eax, eax
je 0x4b4fbc
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x570], 0
mov dword [ebp - 0x56c], 0
mov dword [ebp - 0x568], 0
test ebx, 0x20000
je 0x4b4ffb
mov eax, dword [ebp - 0x51c]
and ebx, 0xfffdffff
test eax, eax
je 0x4b4ffb
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x51c], 0
mov dword [ebp - 0x518], 0
mov dword [ebp - 0x514], 0
mov dword [ebp - 4], 0x42
test ebx, 0x10000
je 0x4b5036
mov edx, dword [ebp - 0x278]
and ebx, 0xfffeffff
add edx, 0xfffffff0
mov dword [ebp - 0x22c], ebx
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b5036
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test ebx, 0x8000
je 0x4b5075
mov eax, dword [ebp - 0x528]
and ebx, 0xffff7fff
test eax, eax
je 0x4b5075
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x528], 0
mov dword [ebp - 0x524], 0
mov dword [ebp - 0x520], 0
test ebx, 0x4000
je 0x4b50b4
mov eax, dword [ebp - 0x564]
and ebx, 0xffffbfff
test eax, eax
je 0x4b50b4
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x564], 0
mov dword [ebp - 0x560], 0
mov dword [ebp - 0x55c], 0
mov dword [ebp - 4], 0x3c
test ebx, 0x2000
je 0x4b50ef
mov edx, dword [ebp - 0x238]
and ebx, 0xffffdfff
add edx, 0xfffffff0
mov dword [ebp - 0x22c], ebx
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b50ef
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test ebx, 0x1000
je 0x4b512e
mov eax, dword [ebp - 0x54c]
and ebx, 0xffffefff
test eax, eax
je 0x4b512e
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x54c], 0
mov dword [ebp - 0x548], 0
mov dword [ebp - 0x544], 0
mov dword [ebp - 4], 0x37
test ebx, 0x800
je 0x4b5169
mov edx, dword [ebp - 0x234]
and ebx, 0xfffff7ff
add edx, 0xfffffff0
mov dword [ebp - 0x22c], ebx
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b5169
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test ebx, 0x400
je 0x4b51a8
mov eax, dword [ebp - 0x540]
and ebx, 0xfffffbff
test eax, eax
je 0x4b51a8
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x540], 0
mov dword [ebp - 0x53c], 0
mov dword [ebp - 0x538], 0
test ebx, 0x200
je 0x4b51e7
mov eax, dword [ebp - 0x558]
and ebx, 0xfffffdff
test eax, eax
je 0x4b51e7
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x558], 0
mov dword [ebp - 0x554], 0
mov dword [ebp - 0x550], 0
mov dword [ebp - 4], 0x31
test ebx, 0x100
je 0x4b5222
mov edx, dword [ebp - 0x23c]
and ebx, 0xfffffeff
add edx, 0xfffffff0
mov dword [ebp - 0x22c], ebx
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b5222
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test bl, bl
jns 0x4b525d
mov eax, dword [ebp - 0x504]
and ebx, 0xffffff7f
test eax, eax
je 0x4b525d
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x504], 0
mov dword [ebp - 0x500], 0
mov dword [ebp - 0x4fc], 0
mov dword [ebp - 4], 0x2c
test bl, 0x40
je 0x4b5292
mov edx, dword [ebp - 0x244]
and ebx, 0xffffffbf
add edx, 0xfffffff0
mov dword [ebp - 0x22c], ebx
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b5292
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test bl, 0x20
je 0x4b52cb
mov eax, dword [ebp - 0x510]
and ebx, 0xffffffdf
test eax, eax
je 0x4b52cb
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x510], 0
mov dword [ebp - 0x50c], 0
mov dword [ebp - 0x508], 0
test bl, 0x10
je 0x4b5304
mov eax, dword [ebp - 0x2c4]
and ebx, 0xffffffef
test eax, eax
je 0x4b5304
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0
mov dword [ebp - 4], 0x26
test bl, 8
je 0x4b5339
mov edx, dword [ebp - 0x4e4]
and ebx, 0xfffffff7
add edx, 0xfffffff0
mov dword [ebp - 0x22c], ebx
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b5339
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test bl, 4
je 0x4b5372
mov eax, dword [ebp - 0x264]
and ebx, 0xfffffffb
test eax, eax
je 0x4b5372
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 4], 0x24
test bl, 2
je 0x4b53a4
mov edx, dword [ebp - 0x18]
and ebx, 0xfffffffd
add edx, 0xfffffff0
mov dword [ebp - 0x22c], ebx
or ecx, 0xffffffff
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b53a4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0x14
test bl, 1
je 0x4b53c3
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x4b53c3
push eax
call fcn.004191e0
add esp, 4
cmp byte [ebp - 0x22d], 0
je 0x4b54e9
mov byte [ebp - 0x4f4], 1
xorps xmm0, xmm0
mov dword [ebp - 0x268], 0
xor edi, edi
movq qword [ebp - 0x270], xmm0
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], edi
mov dword [ebp - 0x268], edi
mov esi, dword [ebp - 0x284]
movq qword [ebp - 0x264], xmm0
mov dword [ebp - 0x25c], edi
mov dword [ebp - 0x264], edi
mov dword [ebp - 0x260], edi
mov dword [ebp - 0x25c], edi
mov byte [ebp - 4], 0x4f
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
call fcn.0048eb00
neg eax
mov dword [ebp - 0x4dc], edi
lea ecx, [ebp - 0x4dc]
sbb eax, eax
push ecx
and eax, 0xffffff00
add eax, 0x20219
push eax
push edi
push esi
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x4b552a
mov eax, dword [ebp - 0x4dc]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test eax, eax
je 0x4b5481
push eax
call ebx
xor eax, eax
mov byte [ebp - 4], 0x4e
test eax, eax
je 0x4b548c
push eax
call ebx
mov edx, dword [ebp - 0x284]
lea eax, [ebp - 0x270]
push ecx
push eax
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], reloc.OLEAUT32.dll_SysReAllocString
call fcn.004a6900
add esp, 8
test eax, eax
je 0x4b5522
push 0x526c18
lea eax, [ebp - 0x580]
mov dword [ebp - 0x57c], 6
push eax
mov dword [ebp - 0x578], 0x19
mov dword [ebp - 0x574], 0
mov dword [ebp - 0x580], 0x513484
call fcn.004c22fb
push 0x526c18
lea eax, [ebp - 0x5a0]
mov dword [ebp - 0x59c], 6
push eax
mov dword [ebp - 0x598], 0x18
mov dword [ebp - 0x594], 0
mov dword [ebp - 0x5a0], 0x513484
call fcn.004c22fb
mov edi, dword [ebp - 0x26c]
jmp 0x4b5548
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x18]
mov edx, dword [ebp - 0x284]
push 1
mov dword [ebp - 0x18], reloc.OLEAUT32.dll_SysReAllocString
call fcn.0048ef00
add esp, 4
lea ecx, [ebp - 0x258]
call fcn.004155a0
xor ebx, ebx
call fcn.00415c00
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4b5571
push 0x80004005
call fcn.004162a0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x278], eax
mov byte [ebp - 4], 0x50
xor eax, eax
mov ecx, dword [ebp - 0x270]
sub edi, ecx
sar edi, 2
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x4e4], edi
test edi, edi
je 0x4b56b0
mov esi, dword [ecx + eax*4]
mov ecx, dword [esi - 0x10]
mov eax, dword [ecx]
call dword [eax + 0x10]
cmp dword [esi - 4], 0
lea edx, [esi - 4]
mov ecx, eax
jl 0x4b55cf
cmp ecx, dword [esi - 0x10]
jne 0x4b55cf
lea edi, [esi - 0x10]
mov eax, 1
lock xadd dword [edx], eax
jmp 0x4b5608
mov eax, dword [ecx]
push 2
push dword [esi - 0xc]
call dword [eax]
mov edi, eax
test edi, edi
je 0x4b5789
mov ecx, dword [esi - 0xc]
mov dword [edi + 4], ecx
mov ecx, dword [esi - 0xc]
lea eax, [ecx*2 + 2]
push eax
lea eax, [ecx*2 + 2]
push esi
push eax
lea eax, [edi + 0x10]
push eax
call fcn.004be141
add esp, 0x10
lea esi, [edi + 0x10]
mov dword [ebp - 0x240], esi
push 1
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 0x51
mov edx, dword [ebp - 0x284]
lea ecx, [ebp - 0x18]
push eax
push esi
mov dword [ebp - 0x18], reloc.OLEAUT32.dll_SysReAllocString
call fcn.004a65e0
add esp, 0xc
test eax, eax
jne 0x4b5673
mov eax, dword [ebp - 0x278]
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4b3eba
push eax
push dword [ebp - 0x274]
call fcn.004bf63a
add esp, 8
test eax, eax
je 0x4b56f3
push esi
call dword [sym.imp.SHLWAPI.dll_StrToIntW]
cmp eax, ebx
cmovg ebx, eax
add esi, 0xfffffff0
mov byte [ebp - 4], 0x50
or ecx, 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b5691
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [ebp - 0x270]
inc eax
mov dword [ebp - 0x4dc], eax
cmp eax, dword [ebp - 0x4e4]
jb 0x4b55a6
mov eax, dword [ebp - 0x258]
mov edi, 1
cmp dword [eax - 0xc], 0
jne 0x4b5802
mov edx, str.Yig
lea ecx, [ebp - 0x298]
inc ebx
call fcn.004bba60
mov byte [ebp - 4], 0x52
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 1
jne 0x4b578e
push str.invalid_vector_T__subscript
call fcn.004bc548
mov ecx, dword [ebp - 0x258]
lea edi, [esi - 0x10]
add ecx, 0xfffffff0
mov dword [ebp - 0x4e4], ecx
cmp edi, ecx
je 0x4b5765
cmp dword [ecx + 0xc], 0
lea eax, [ecx + 0xc]
mov dword [ebp - 0x18], eax
jl 0x4b5756
mov eax, dword [edi]
cmp eax, dword [ecx]
jne 0x4b5756
mov ecx, edi
call fcn.0049ca30
mov edx, dword [ebp - 0x18]
or ecx, 0xffffffff
mov dword [ebp - 0x4ec], eax
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4b574b
mov esi, dword [ebp - 0x4e4]
push esi
mov ecx, dword [esi]
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x4ec]
add eax, 0x10
mov dword [ebp - 0x258], eax
jmp 0x4b5765
push dword [esi - 0xc]
lea ecx, [ebp - 0x258]
push esi
call fcn.0048ded0
mov byte [ebp - 4], 0x50
lea eax, [edi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b56b0
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x4b56b0
call fcn.004154b0
push ebx
push ecx
lea eax, [ebp - 0x258]
push eax
call fcn.0049c630
mov byte [ebp - 4], 0x50
add esp, 0xc
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x4b57b6
push eax
call fcn.004191e0
add esp, 4
push 0
push 1
push ecx
mov ecx, dword [ebp - 0x274]
mov esi, esp
mov dword [ebp - 0x18], reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ecx - 0x10]
call fcn.0049ca30
push dword [ebp - 0x258]
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
mov edx, dword [ebp - 0x284]
call fcn.0048f150
mov ecx, dword [ebp - 0x4f4]
add esp, 0x10
test eax, eax
movzx ecx, cl
cmove ecx, edi
mov dword [ebp - 0x4f4], ecx
cmp byte [ebp - 0x4dd], 0
je 0x4b5a1f
mov edx, str.NDg8LCciPCI_
lea ecx, [ebp - 0x298]
call fcn.004bba60
mov esi, eax
mov edx, str.NDg8NiM7ZmY
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x264]
call fcn.004bba60
mov byte [ebp - 4], 0x54
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
sar ecx, 1
jne 0x4b584e
push str.invalid_vector_T__subscript
call fcn.004bc548
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 1
jne 0x4b5863
push str.invalid_vector_T__subscript
call fcn.004bc548
push edx
push ecx
lea ecx, [ebp - 0x2a8]
call fcn.004a3350
mov ecx, eax
call fcn.00495ab0
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x4b58a8
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x4b58bf
push eax
call fcn.004191e0
add esp, 4
mov edx, str.NDg8LCciPCI_
lea ecx, [ebp - 0x298]
call fcn.004bba60
mov esi, eax
mov edx, str.NDg8NiM7ZmY
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x264]
call fcn.004bba60
mov byte [ebp - 4], 0x56
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
sar ecx, 1
jne 0x4b58fe
push str.invalid_vector_T__subscript
call fcn.004bc548
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 1
jne 0x4b5913
push str.invalid_vector_T__subscript
call fcn.004bc548
push edx
push ecx
lea ecx, [ebp - 0x280]
call fcn.004a3350
mov ecx, eax
call fcn.00495ab0
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x4b5958
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x4b596f
push eax
call fcn.004191e0
add esp, 4
mov edx, str.NDg8LCciPCI_
lea ecx, [ebp - 0x298]
call fcn.004bba60
mov esi, eax
mov edx, str.NDg8NiM7ZmY
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x264]
call fcn.004bba60
mov byte [ebp - 4], 0x58
mov ecx, dword [esi + 4]
mov edx, dword [esi]
sub ecx, edx
sar ecx, 1
jne 0x4b59ae
push str.invalid_vector_T__subscript
call fcn.004bc548
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
sar eax, 1
jne 0x4b59c3
push str.invalid_vector_T__subscript
call fcn.004bc548
push edx
push ecx
lea ecx, [ebp - 0x288]
call fcn.004a3350
mov ecx, eax
call fcn.00495ab0
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x4b5a08
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
mov byte [ebp - 4], 0x50
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x4b5a1f
push eax
call fcn.004191e0
add esp, 4
lea ecx, [ebp - 0x280]
call fcn.004bb360
test eax, eax
je 0x4b5a67
push 0x526c18
lea eax, [ebp - 0x590]
mov dword [ebp - 0x58c], 6
push eax
mov dword [ebp - 0x588], 9
mov dword [ebp - 0x584], 0
mov dword [ebp - 0x590], 0x513484
call fcn.004c22fb
push dword [ebp - 0x288]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x4b657f
xorps xmm0, xmm0
mov dword [ebp - 0x248], 0
xor ebx, ebx
movq qword [ebp - 0x250], xmm0
xor edi, edi
mov byte [ebp - 0x22d], 0
mov dword [ebp - 0x250], ebx
mov dword [ebp - 0x24c], edi
mov dword [ebp - 0x248], ebx
push 0xb8
lea eax, [ebp - 0x388]
mov byte [ebp - 4], 0x59
push edi
push eax
call fcn.004c1b90
add esp, 4
lea ecx, [ebp - 0x388]
push 1
push dword [ebp - 0x288]
call fcn.004b8be0
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x264]
mov edx, str.Zw
mov dword [ebp - 0x244], edi
call fcn.004bbca0
mov byte [ebp - 4], 0x5b
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
jne 0x4b5b0a
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
lea ecx, [ebp - 0x244]
call fcn.00416150
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x264]
test eax, eax
je 0x4b5b4b
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x264], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
mov eax, dword [ebp - 0x388]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x37c], 1
jne 0x4b5c34
mov dword [ebp - 0x290], 0xf
mov dword [ebp - 0x294], 0
mov byte [ebp - 0x2a4], 0
lea edx, [ebp - 0x2a4]
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x388]
call fcn.004b9600
cmp dword [ebp - 0x290], 0x10
lea eax, [ebp - 0x2a4]
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x238], 0
cmovae eax, dword [ebp - 0x2a4]
push eax
call fcn.00416150
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 0x5f
push eax
lea ecx, [ebp - 0x250]
call fcn.004974b0
mov byte [ebp - 4], 0x5e
or ecx, 0xffffffff
mov edx, dword [ebp - 0x238]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b5bf6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5d
cmp dword [ebp - 0x290], 0x10
jb 0x4b5c11
push dword [ebp - 0x2a4]
call fcn.004191e0
add esp, 4
mov eax, dword [ebp - 0x388]
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x37c], 1
je 0x4b5b62
mov edi, dword [ebp - 0x24c]
mov ebx, dword [ebp - 0x250]
lea ecx, [ebp - 0x378]
call fcn.00496a10
test eax, eax
jne 0x4b5c6b
mov eax, dword [ebp - 0x388]
lea ecx, [ebp - 0x388]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx + 0xc]
or eax, 2
cmp dword [ecx + 0x38], 0
jne 0x4b5c63
or eax, 4
push 0
push eax
call fcn.00414c80
mov esi, ebx
cmp ebx, edi
je 0x4b5d1e
jmp 0x4b5c80
mov edx, str.HAYqLCMkNDgH
lea ecx, [ebp - 0x2c4]
call fcn.004bbca0
mov byte [ebp - 4], 0x60
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
je 0x4b3d77
test ecx, ecx
jne 0x4b5caa
or eax, 0xffffffff
jmp 0x4b5ccc
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jge 0x4b5cb7
or eax, 0xffffffff
jmp 0x4b5ccc
push ecx
push eax
call fcn.004bfbbd
add esp, 8
test eax, eax
jne 0x4b5cca
or eax, 0xffffffff
jmp 0x4b5ccc
sub eax, dword [esi]
test eax, eax
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x2c4]
sete byte [ebp - 0x4dd]
test eax, eax
je 0x4b5d0a
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0
cmp byte [ebp - 0x4dd], 0
jne 0x4b5d49
add esi, 4
cmp esi, edi
jne 0x4b5c80
mov edx, str.HAYqLCMkNDgHWw
lea ecx, [ebp - 0x298]
call fcn.004bbca0
mov byte [ebp - 4], 0x61
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
jne 0x4b63a4
push str.invalid_vector_T__subscript
call fcn.004bc548
mov eax, esi
sub eax, ebx
sar eax, 2
cmp eax, 0xffffffff
je 0x4b5d1e
mov eax, dword [ebp - 0x28c]
jmp 0x4b5d60
test eax, eax
je 0x4b5d84
mov ecx, dword [ebx]
cmp dword [ecx - 0xc], 0
jl 0x4b5d84
push eax
push ecx
call fcn.004bfbbd
add esp, 8
test eax, eax
je 0x4b5d7e
sub eax, dword [ebx]
je 0x4b5da7
mov eax, dword [ebp - 0x28c]
add ebx, 4
cmp ebx, edi
jne 0x4b5d60
call fcn.00415c00
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x4b5e02
push 0x80004005
call fcn.004162a0
mov eax, dword [ebp - 0x250]
sub ebx, eax
sar ebx, 2
cmp ebx, 0xffffffff
je 0x4b5d8b
lea ebx, [eax + ebx*4]
mov eax, dword [ebp - 0x27c]
test eax, eax
je 0x4b5deb
mov ecx, dword [ebx]
cmp dword [ecx - 0xc], 0
jl 0x4b5deb
push eax
push ecx
call fcn.004bfbbd
add esp, 8
test eax, eax
je 0x4b5de5
sub eax, dword [ebx]
cmp eax, 0xffffffff
jne 0x4b6034
mov eax, dword [ebp - 0x27c]
push dword [eax - 0xc]
mov ecx, ebx
push eax
call fcn.004a3b70
mov byte [ebp - 0x22d], 1
jmp 0x4b6034
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x234], eax
mov edx, 0x507418
mov byte [ebp - 4], 0x66
lea ecx, [ebp - 0x298]
call fcn.004bbca0
mov byte [ebp - 4], 0x67
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
jne 0x4b5e3d
push str.invalid_vector_T__subscript
call fcn.004bc548
test ecx, ecx
jne 0x4b5e46
or eax, 0xffffffff
jmp 0x4b5e68
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jge 0x4b5e53
or eax, 0xffffffff
jmp 0x4b5e68
push ecx
push eax
call fcn.004bfbbd
add esp, 8
test eax, eax
jne 0x4b5e66
or eax, 0xffffffff
jmp 0x4b5e68
sub eax, dword [esi]
cmp eax, 0xffffffff
mov byte [ebp - 4], 0x66
mov eax, dword [ebp - 0x298]
sete bl
test eax, eax
je 0x4b5e85
push eax
call fcn.004191e0
add esp, 4
test bl, bl
je 0x4b5eed
mov edx, 0x507418
lea ecx, [ebp - 0x298]
call fcn.004bbca0
mov byte [ebp - 4], 0x68
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
jne 0x4b5eb0
push str.invalid_vector_T__subscript
call fcn.004bc548
test edx, edx
jne 0x4b5eb8
xor ecx, ecx
jmp 0x4b5ec9
mov ecx, edx
lea ebx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5ec0
sub ecx, ebx
push ecx
push edx
lea ecx, [ebp - 0x234]
call fcn.004a3b70
mov byte [ebp - 4], 0x66
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x4b5eed
push eax
call fcn.004191e0
add esp, 4
mov eax, dword [ebp - 0x28c]
lea ecx, [ebp - 0x234]
push dword [eax - 0xc]
push eax
call fcn.004a3b70
mov eax, dword [ebp - 0x27c]
lea ecx, [ebp - 0x234]
push dword [eax - 0xc]
push eax
call fcn.004a3b70
mov edx, 0x507418
lea ecx, [ebp - 0x298]
call fcn.004bbca0
mov byte [ebp - 4], 0x69
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
jne 0x4b5f3e
push str.invalid_vector_T__subscript
call fcn.004bc548
test edx, edx
jne 0x4b5f46
xor ecx, ecx
jmp 0x4b5f59
mov ecx, edx
lea ebx, [ecx + 1]
jmp 0x4b5f50
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b5f50
sub ecx, ebx
push ecx
push edx
lea ecx, [ebp - 0x234]
call fcn.004a3b70
mov byte [ebp - 4], 0x66
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x4b5f7d
push eax
call fcn.004191e0
add esp, 4
sub edi, dword [ebp - 0x250]
lea ecx, [ebp - 0x4dc]
mov eax, esi
sar edi, 2
sub eax, dword [ebp - 0x250]
sar eax, 2
cmp eax, edi
mov edi, dword [ebp - 0x234]
push edi
jne 0x4b5fbf
call fcn.00416150
lea eax, [ebp - 0x4dc]
mov byte [ebp - 4], 0x6a
push eax
lea ecx, [ebp - 0x250]
call fcn.004974b0
jmp 0x4b5fe5
call fcn.00416150
lea ecx, [ebp - 0x4dc]
mov byte [ebp - 4], 0x6b
push ecx
lea eax, [esi + 4]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x250]
call fcn.004b9710
mov esi, dword [ebp - 0x18]
mov byte [ebp - 4], 0x66
or ecx, 0xffffffff
mov edx, dword [ebp - 0x4dc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b6009
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov byte [ebp - 0x22d], 1
mov byte [ebp - 4], 0x5d
or ecx, 0xffffffff
lea eax, [edi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b602e
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x24c]
mov ebx, dword [ebp - 0x250]
mov dword [ebp - 0x234], ebx
cmp ebx, edi
je 0x4b6180
jmp 0x4b6050
mov dword [ebp - 0x23c], 0
call fcn.00415c00
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
je 0x4b3eba
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x23c], eax
mov byte [ebp - 4], 0x6c
lea ecx, [ebp - 0x23c]
mov eax, dword [ebp - 0x234]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.004a3b70
mov edx, str.MSQ9MS85O2k
lea ecx, [ebp - 0x2c4]
call fcn.004bbca0
mov byte [ebp - 4], 0x6d
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x18], ecx
sub eax, ecx
je 0x4b3d77
lea ecx, [ebp - 0x23c]
call fcn.004b8270
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x4e4], eax
test ecx, ecx
jne 0x4b60da
or eax, 0xffffffff
jmp 0x4b6102
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
jge 0x4b60e7
or eax, 0xffffffff
jmp 0x4b6102
push ecx
push eax
call fcn.004bfbbd
add esp, 8
test eax, eax
jne 0x4b60fa
or eax, 0xffffffff
jmp 0x4b6102
mov ecx, dword [ebp - 0x4e4]
sub eax, dword [ecx]
test eax, eax
mov eax, dword [ebp - 0x2c4]
sete byte [ebp - 0x4dd]
test eax, eax
je 0x4b613c
push eax
call fcn.004191e0
add esp, 4
mov dword [ebp - 0x2c4], 0
mov dword [ebp - 0x2c0], 0
mov dword [ebp - 0x2bc], 0
or ecx, 0xffffffff
cmp byte [ebp - 0x4dd], 0
jne 0x4b61bb
mov byte [ebp - 4], 0x5d
mov edx, dword [ebp - 0x23c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b6169
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x234]
add eax, 4
mov dword [ebp - 0x234], eax
cmp eax, edi
jne 0x4b6050
mov eax, esi
lea ecx, [ebp - 0x298]
sub eax, ebx
sub edi, ebx
sar eax, 2
mov edx, str.ESQ9MS85O2lrWw
sar edi, 2
cmp eax, edi
jne 0x4b6230
call fcn.004bbca0
mov byte [ebp - 4], 0x6e
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
jne 0x4b6208
push str.invalid_vector_T__subscript
call fcn.004bc548
mov eax, dword [ebp - 0x234]
mov byte [ebp - 4], 0x5d
sub eax, ebx
mov edx, dword [ebp - 0x23c]
add edx, 0xfffffff0
sar eax, 2
mov dword [ebp - 0x234], eax
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b61ed
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [ebp - 0x234], 0xffffffff
je 0x4b6180
cmp byte [ebp - 0x22d], 0
je 0x4b6508
jmp 0x4b62bd
push ecx
lea ecx, [ebp - 0x4dc]
call fcn.00416150
lea eax, [ebp - 0x4dc]
mov byte [ebp - 4], 0x6f
push eax
lea ecx, [ebp - 0x250]
call fcn.004974b0
mov byte [ebp - 4], 0x6e
jmp 0x4b627a
call fcn.004bbca0
mov byte [ebp - 4], 0x70
mov ecx, dword [eax]
mov eax, dword [eax + 4]
sub eax, ecx
jne 0x4b624c
push str.invalid_vector_T__subscript
call fcn.004bc548
push ecx
lea ecx, [ebp - 0x4dc]
call fcn.00416150
lea ecx, [ebp - 0x4dc]
mov byte [ebp - 4], 0x71
push ecx
lea eax, [esi + 4]
push eax
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x250]
call fcn.004b9710
mov byte [ebp - 4], 0x70
mov edx, dword [ebp - 0x4dc]
or ecx, 0xffffffff
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b629a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x4b62b1
push eax
call fcn.004191e0
add esp, 4
mov edi, dword [ebp - 0x24c]
mov ebx, dword [ebp - 0x250]
push 0xa8
lea eax, [ebp - 0x4d8]
push 0
push eax
call fcn.004c1b90
push dword [ebp - 0x288]
lea ecx, [ebp - 0x4d8]
call fcn.004b8d60
mov byte [ebp - 4], 0x72
mov esi, ebx
cmp ebx, edi
je 0x4b634c
jmp 0x4b62f0
mov ecx, dword [esi]
cmp dword [ecx - 4], 1
mov eax, dword [ecx - 0xc]
mov dword [ebp - 0x18], eax
jle 0x4b6309
push eax
mov ecx, esi
call fcn.00415f00
mov eax, dword [ebp - 0x18]
cdq
lea ecx, [ebp - 0x4d8]
push edx
push eax
push dword [esi]
call fcn.00496100
mov eax, dword [esi]
test eax, eax
jne 0x4b6323
xor ecx, ecx
jmp 0x4b6335
push dword [eax - 8]
push eax
call fcn.004bf7a8
mov ecx, eax
add esp, 8
test ecx, ecx
js 0x4b639a
mov eax, dword [esi]
cmp ecx, dword [eax - 8]
jg 0x4b639a
mov dword [eax - 0xc], ecx
mov eax, dword [esi]
add esi, 4
mov byte [ecx + eax], 0
cmp esi, edi
jne 0x4b62f0
lea ecx, [ebp - 0x4d4]
call fcn.00496a10
test eax, eax
jne 0x4b6383
mov eax, dword [ebp - 0x4d8]
lea ecx, [ebp - 0x4d8]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx + 0xc]
or eax, 2
cmp dword [ecx + 0x38], 0
jne 0x4b637b
or eax, 4
push 0
push eax
call fcn.00414c80
lea ecx, [ebp - 0x4d8]
mov byte [ebp - 0x4f4], 1
call fcn.004917e0
jmp 0x4b6508
push 0x80070057
call fcn.004162a0
push ecx
lea ecx, [ebp - 0x4dc]
call fcn.00416150
lea eax, [ebp - 0x4dc]
mov byte [ebp - 4], 0x62
push eax
lea ecx, [ebp - 0x250]
call fcn.004974b0
mov byte [ebp - 4], 0x61
or ecx, 0xffffffff
mov edx, dword [ebp - 0x4dc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b63ea
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x5d
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x4b6401
push eax
call fcn.004191e0
add esp, 4
mov ecx, dword [ebp - 0x28c]
lea ecx, [ecx - 0x10]
call fcn.0049ba40
add eax, 0x10
mov dword [ebp - 0x238], eax
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x238]
mov eax, dword [ebp - 0x27c]
push dword [eax - 0xc]
push eax
call fcn.004a3b70
mov edx, 0x507418
lea ecx, [ebp - 0x298]
call fcn.004bbca0
mov byte [ebp - 4], 0x64
mov edx, dword [eax]
mov eax, dword [eax + 4]
sub eax, edx
jne 0x4b6458
push str.invalid_vector_T__subscript
call fcn.004bc548
test edx, edx
jne 0x4b6460
xor ecx, ecx
jmp 0x4b646e
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4b6465
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x238]
call fcn.004a3b70
mov byte [ebp - 4], 0x63
mov eax, dword [ebp - 0x298]
test eax, eax
je 0x4b6492
push eax
call fcn.004191e0
add esp, 4
mov esi, dword [ebp - 0x238]
lea ecx, [ebp - 0x4dc]
push esi
call fcn.00416150
lea eax, [ebp - 0x4dc]
mov byte [ebp - 4], 0x65
push eax
lea ecx, [ebp - 0x250]
call fcn.004974b0
mov byte [ebp - 4], 0x63
or ecx, 0xffffffff
mov edx, dword [ebp - 0x4dc]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b64de
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov byte [ebp - 4], 0x5d
or ecx, 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b64fc
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp - 0x250]
mov edi, dword [ebp - 0x24c]
mov byte [ebp - 4], 0x5a
or ecx, 0xffffffff
mov edx, dword [ebp - 0x244]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b652c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x388]
call fcn.00491760
mov byte [ebp - 4], 0x50
test ebx, ebx
je 0x4b6815
mov esi, ebx
cmp ebx, edi
je 0x4b6573
lea esp, [esp]
mov edx, dword [esi]
or ecx, 0xffffffff
sub edx, 0x10
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x4b656c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 4
cmp esi, edi
jne 0x4b6550
push ecx
push ebx
call fcn.00498450
jmp 0x4b6815
push ecx
lea ecx, [ebp - 0x250]
call fcn.00415750
lea ecx, [ebp - 0x250]
call fcn.00497490
push ecx
lea ecx, [ebp - 0x244]
mov byte [ebp - 4], 0x73
call fcn.004152b0
mov edx, str.HAYqLCMkNDgHWw
lea ecx, [ebp - 0x298]
call fcn.004bbca0
push 0
mov ecx, eax
mov byte [ebp - 4], 0x74
call fcn.00416660
push eax
lea ecx, [ebp - 0x244]
call fcn.00416150
lea ecx, [ebp - 0x298]
mov byte [ebp - 4], 0x76
call fcn.00415770
lea eax, [ebp - 0x244]
push eax
lea ecx, [ebp - 0x250]
call fcn.004974b0
push ecx
lea ecx, [ebp - 0x23c]
call fcn.004152b0
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x23c]
call fcn.0049a1a0
lea eax, [ebp - 0x27c]
mov byte [ebp - 4], 0x77
push eax
lea ecx, [ebp - 0x23c]
call fcn.004a3260
mov edx, 0x507418
lea ecx, [ebp - 0x264]
call fcn.004bbca0
push 0
mov ecx, eax
mov byte [ebp - 4], 0x78
call fcn.00416660
push eax
lea ecx, [ebp - 0x23c]
call fcn.004a3c40
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x77
call fcn.00415770
lea ecx, [ebp - 0x23c]
call fcn.004158d0
push eax
lea ecx, [ebp - 0x4dc]
call fcn.00416150
lea eax, [ebp - 0x4dc]
mov byte [ebp - 4], 0x79
push eax
lea ecx, [ebp - 0x250]
call fcn.004974b0
lea ecx, [ebp - 0x4dc]
mov byte [ebp - 4], 0x77
call fcn.00415730
mov edx, str.ESQ9MS85O2lrWw
lea ecx, [ebp - 0x2c4]
call fcn.004bbca0
push 0
mov ecx, eax
mov byte [ebp - 4], 0x7a
call fcn.00416660
push eax
lea ecx, [ebp - 0x244]
call fcn.00416110
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0x77
call fcn.00415770
lea ecx, [ebp - 0x244]
call fcn.004158d0
push eax
lea ecx, [ebp - 0x238]
call fcn.00416150
lea eax, [ebp - 0x238]
mov byte [ebp - 4], 0x7b
push eax
lea ecx, [ebp - 0x250]
call fcn.004974b0
lea ecx, [ebp - 0x238]
mov byte [ebp - 4], 0x77
call fcn.00415730
push ecx
lea ecx, [ebp - 0x4d8]
call fcn.00491840
sub esp, 0xc
lea ecx, [ebp - 0x288]
call fcn.004158d0
push eax
lea ecx, [ebp - 0x4d8]
call fcn.004b8d60
push ecx
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 0x7c
call fcn.004152b0
lea eax, [ebp - 0x234]
push eax
lea ecx, [ebp - 0x250]
call fcn.004b8470
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x250]
call fcn.004b8480
push eax
lea ecx, [ebp - 0x234]
call fcn.004b8ff0
test al, al
je 0x4b67d7
lea ecx, [ebp - 0x234]
call fcn.004158d0
mov esi, eax
mov ecx, eax
call fcn.00415ef0
cdq
mov ecx, esi
push edx
push eax
call fcn.0049a2a0
push eax
lea ecx, [ebp - 0x4d8]
call fcn.00496100
push ecx
mov ecx, esi
call fcn.0049bc60
push ecx
lea eax, [ebp - 0x4e4]
push eax
lea ecx, [ebp - 0x234]
call fcn.004b8fd0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x250]
call fcn.004b8480
push eax
lea ecx, [ebp - 0x234]
call fcn.004b8ff0
test al, al
jne 0x4b6773
lea ecx, [ebp - 0x4d8]
call fcn.00497460
lea ecx, [ebp - 0x4d8]
mov byte [ebp - 0x4f4], 1
call fcn.004917e0
lea ecx, [ebp - 0x23c]
call fcn.00415730
lea ecx, [ebp - 0x244]
call fcn.00415730
lea ecx, [ebp - 0x250]
call fcn.00496460
push ecx
lea ecx, [ebp - 0x234]
call fcn.004152b0
lea ecx, [ebp - 0x234]
call fcn.0049bca0
push ecx
lea ecx, [ebp - 0x2b4]
mov byte [ebp - 4], 0x7d
call fcn.004152b0
lea ecx, [ebp - 0x280]
call fcn.004158d0
push eax
lea ecx, [ebp - 0x2b4]
call fcn.0049bbc0
mov edx, str.FSQoKzUiJy10ITc
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0x298]
call fcn.004bbca0
push 0
mov ecx, eax
mov byte [ebp - 4], 0x7f
call fcn.00416660
push eax
lea ecx, [ebp - 0x2b4]
call fcn.004158d0
push eax
lea ecx, [ebp - 0x234]
call fcn.004b89f0
lea ecx, [ebp - 0x298]
call fcn.00415770
push ecx
lea ecx, [ebp - 0x23c]
xor edi, edi
xor bl, bl
call fcn.004152b0
lea ecx, [ebp - 0x23c]
call fcn.0049bca0
push ecx
lea ecx, [ebp - 0x244]
call fcn.004152b0
lea ecx, [ebp - 0x244]
call fcn.0049bca0
push ecx
lea ecx, [ebp - 0x22c]
call fcn.004152b0
lea ecx, [ebp - 0x22c]
call fcn.0049bca0
push ecx
lea ecx, [ebp - 0x2ac]
mov byte [ebp - 4], 0x82
call fcn.004152b0
mov edx, str.Gg
lea ecx, [ebp - 0x264]
call fcn.004bba60
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x83
call fcn.0048e410
push eax
lea ecx, [ebp - 0x2ac]
call fcn.0048e020
lea ecx, [ebp - 0x264]
mov byte [ebp - 4], 0x85
call fcn.00415770
mov edx, str.HGQ8Qg
lea ecx, [ebp - 0x2c4]
call fcn.004bba60
mov byte [ebp - 4], 0x86
push dword [ebp - 0x284]
push ecx
mov ecx, eax
call fcn.0048e410
push eax
lea eax, [ebp - 0x23c]
push eax
call fcn.0049c630
add esp, 0xc
mov byte [ebp - 4], 0x85
lea ecx, [ebp - 0x2c4]
call fcn.00415770
mov edx, str.fGQ8Qg
lea ecx, [ebp - 0x510]
call fcn.004bba60
mov byte [ebp - 4], 0x87
push dword [ebp - 0x258]
push ecx
mov ecx, eax
call fcn.0048e410
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.0049c630
add esp, 0xc
mov byte [ebp - 4], 0x85
lea ecx, [ebp - 0x510]
call fcn.00415770
mov edx, str.YjJP
lea ecx, [ebp - 0x504]
call fcn.004bba60
mov byte [ebp - 4], 0x88
push dword [ebp - 0x274]
push ecx
mov ecx, eax
call fcn.0048e410
push eax
lea eax, [ebp - 0x22c]
push eax
call fcn.0049c630
add esp, 0xc
mov byte [ebp - 4], 0x85
lea ecx, [ebp - 0x504]
call fcn.00415770
lea ecx, [ebp - 0x234]
call fcn.004b8a60
test eax, eax
je 0x4b6baf
push ecx
lea ecx, [ebp - 0x388]
mov byte [ebp - 0x4dd], 1
call fcn.004917c0
sub esp, 0xc
lea ecx, [ebp - 0x234]
call fcn.004158d0
push eax
lea ecx, [ebp - 0x388]
call fcn.004b8a70
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x89
call fcn.00496860
test al, al
jne 0x4b6a5e
push edi
push 0x1a
push 6
lea ecx, [ebp - 0x600]
call fcn.00492b10
push 0x526c18
lea eax, [ebp - 0x600]
push eax
call fcn.004c22fb
lea eax, [ebp - 0x2d0]
push eax
lea ecx, [ebp - 0x388]
call fcn.00496020
push ecx
push 0
push 0
lea ecx, [ebp - 0x388]
call fcn.00495f10
push 0xc
call fcn.004bdfc4
mov esi, eax
add esp, 4
mov dword [ebp - 0x18], esi
mov byte [ebp - 4], 0x8a
test esi, esi
je 0x4b6ab6
push ecx
mov ecx, esi
call fcn.00415750
lea ecx, [ebp - 0x2d0]
call fcn.0040ffa0
push eax
mov ecx, esi
call fcn.00496250
mov edi, eax
jmp 0x4b6ab8
xor edi, edi
lea ecx, [ebp - 0x2d0]
mov byte [ebp - 4], 0x89
call fcn.0040ffa0
test eax, eax
je 0x4b6ae2
push edx
push eax
push 0
mov ecx, edi
call fcn.00416660
push eax
lea ecx, [ebp - 0x388]
call fcn.00495de0
lea ecx, [ebp - 0x388]
call fcn.00496870
xor esi, esi
lea ecx, [ebp - 0x274]
push esi
call fcn.004a3b50
movzx eax, ax
lea ecx, [ebp - 0x2d0]
mov dword [ebp - 0x238], eax
xor ebx, ebx
call fcn.0040ffa0
test edx, edx
jl 0x4b6b9a
jg 0x4b6b20
test eax, eax
je 0x4b6b9a
nop
push ebx
mov ecx, edi
call fcn.00416660
movsx ecx, byte [eax]
mov eax, dword [ebp - 0x238]
movzx eax, ax
cmp ecx, eax
jne 0x4b6b57
lea ecx, [ebp - 0x274]
inc esi
call fcn.00415ef0
cmp esi, eax
jge 0x4b6c8f
test esi, esi
js 0x4b639a
push esi
jmp 0x4b6b67
push ebx
mov ecx, edi
call fcn.00416660
cmp byte [eax], 0
je 0x4b6b7b
xor esi, esi
push esi
lea ecx, [ebp - 0x274]
call fcn.004a3b50
movzx eax, ax
mov dword [ebp - 0x238], eax
lea ecx, [ebp - 0x2d0]
inc ebx
call fcn.0040ffa0
mov dword [ebp - 0x18], eax
mov ecx, edx
mov eax, ebx
cdq
cmp edx, ecx
jg 0x4b6b9a
jl 0x4b6b20
cmp eax, dword [ebp - 0x18]
jb 0x4b6b20
lea ecx, [ebp - 0x388]
mov byte [ebp - 4], 0x85
call fcn.00491760
mov bl, byte [ebp - 0x4dd]
push ecx
lea ecx, [ebp - 0x430]
call fcn.00491840
push ecx
lea ecx, [ebp - 0x430]
call fcn.004972c0
sub esp, 8
mov byte [ebp - 4], 0x8c
lea ecx, [ebp - 0x234]
call fcn.004158d0
push eax
lea ecx, [ebp - 0x430]
call fcn.004b8ed0
test bl, bl
jne 0x4b6c0a
push 0
push 8
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x67655250
push eax
lea ecx, [ebp - 0x430]
mov dword [ebp - 0x18], 1
call fcn.00496100
test edi, edi
je 0x4b6d8e
mov ecx, edi
call fcn.00416650
test eax, eax
je 0x4b6d8e
push ecx
lea ecx, [ebp - 0x238]
call fcn.004152b0
lea eax, [ebp - 0x238]
mov ecx, edi
push eax
call fcn.004b8470
jmp 0x4b6c40
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
call fcn.004b8480
push eax
lea ecx, [ebp - 0x238]
call fcn.004b8ff0
test al, al
je 0x4b6d8e
push 0
push 1
lea ecx, [ebp - 0x238]
call fcn.004158d0
push eax
lea ecx, [ebp - 0x430]
call fcn.00496100
push ecx
lea eax, [ebp - 0x4e4]
push eax
lea ecx, [ebp - 0x238]
call fcn.004b9080
jmp 0x4b6c40
test edi, edi
je 0x4b6c9b
push ecx
mov ecx, edi
call fcn.004b7120
lea ecx, [ebp - 0x388]
call fcn.00491760
lea ecx, [ebp - 0x2ac]
call fcn.00415730
lea ecx, [ebp - 0x22c]
call fcn.00415730
lea ecx, [ebp - 0x244]
call fcn.00415730
lea ecx, [ebp - 0x23c]
call fcn.00415730
lea ecx, [ebp - 0x2b4]
call fcn.00415730
lea ecx, [ebp - 0x234]
call fcn.00415730
lea ecx, [ebp - 0x278]
call fcn.00415730
lea ecx, [ebp - 0x270]
call fcn.00496460
lea ecx, [ebp - 0x284]
call fcn.00415730
lea ecx, [ebp - 0x258]
call fcn.00415730
lea ecx, [ebp - 0x288]
call fcn.00415730
lea ecx, [ebp - 0x280]
call fcn.00415730
lea ecx, [ebp - 0x2a8]
call fcn.00415730
lea ecx, [ebp - 0x274]
call fcn.00415730
lea ecx, [ebp - 0x2b0]
call fcn.00415730
lea ecx, [ebp - 0x254]
call fcn.00415730
lea ecx, [ebp - 0x27c]
call fcn.00415730
lea ecx, [ebp - 0x28c]
call fcn.00415730
mov al, byte [ebp - 0x4f4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004bd963
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x23c]
mov byte [ebp - 0x22d], 0
call fcn.00415ef0
lea eax, [eax*2 + 2]
push eax
call fcn.004bc57c
add esp, 4
lea ecx, [ebp - 0x23c]
mov esi, eax
call fcn.00415ef0
lea ecx, [ebp - 0x23c]
lea eax, [eax*2 + 1]
push eax
call fcn.004158d0
push eax
push esi
call fcn.004c1c20
add esp, 0xc
test esi, esi
jne 0x4b6dfa
lea ecx, [ebp - 0x5bc]
call fcn.004be796
push 0x526c30
lea eax, [ebp - 0x5bc]
push eax
call fcn.004c22fb
lea ecx, [ebp - 0x244]
call fcn.00415ef0
lea eax, [eax*2 + 2]
push eax
call fcn.004bc57c
add esp, 4
lea ecx, [ebp - 0x244]
mov ebx, eax
mov dword [ebp - 0x18], ebx
call fcn.00415ef0
lea ecx, [ebp - 0x244]
lea eax, [eax*2 + 1]
push eax
call fcn.004158d0
push eax
push ebx
call fcn.004c1c20
add esp, 0xc
test ebx, ebx
jne 0x4b6e62
lea ecx, [ebp - 0x5d4]
call fcn.004be796
push 0x526c30
lea eax, [ebp - 0x5d4]
push eax
call fcn.004c22fb
lea ecx, [ebp - 0x22c]
call fcn.00415ef0
lea eax, [eax*2 + 2]
push eax
call fcn.004bc57c
add esp, 4
lea ecx, [ebp - 0x22c]
mov ebx, eax
call fcn.00415ef0
lea ecx, [ebp - 0x22c]
lea eax, [eax*2 + 1]
push eax
call fcn.004158d0
push eax
push ebx
call fcn.004c1c20
add esp, 0xc
test ebx, ebx
jne 0x4b6ec7
lea ecx, [ebp - 0x5c8]
call fcn.004be796
push 0x526c30
lea eax, [ebp - 0x5c8]
push eax
call fcn.004c22fb
lea ecx, [ebp - 0x2ac]
call fcn.00415ef0
lea eax, [eax*2 + 2]
push eax
call fcn.004bc57c
add esp, 4
mov dword [ebp - 0x238], eax
lea ecx, [ebp - 0x2ac]
call fcn.00415ef0
lea ecx, [ebp - 0x2ac]
lea eax, [eax*2 + 1]
push eax
call fcn.004158d0
push eax
push dword [ebp - 0x238]
call fcn.004c1c20
add esp, 0xc
cmp dword [ebp - 0x238], 0
jne 0x4b6f3a
lea ecx, [ebp - 0x5e0]
call fcn.004be796
push 0x526c30
lea eax, [ebp - 0x5e0]
push eax
call fcn.004c22fb
lea ecx, [ebp - 0x23c]
call fcn.00415ef0
lea ecx, [ebp - 0x430]
lea eax, [eax*2 + 1]
cdq
push edx
push eax
push esi
call fcn.00496100
push esi
call fcn.004be903
add esp, 4
lea eax, [ebp - 0x22d]
lea ecx, [ebp - 0x430]
push 0
push 1
push eax
call fcn.00496100
lea ecx, [ebp - 0x244]
call fcn.00415ef0
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x430]
lea eax, [eax*2 + 1]
cdq
push edx
push eax
push esi
call fcn.00496100
push esi
call fcn.004be903
add esp, 4
lea ecx, [ebp - 0x274]
call fcn.00415ef0
push 0
push 0xf
mov dword [ebp - 0x29c], 0x1003b00
lea ecx, [eax*2 + 2]
mov dword [ebp - 0x298], 0x3b000000
mov eax, ecx
mov byte [ebp - 0x293], cl
sar eax, 8
mov byte [ebp - 0x292], al
mov eax, ecx
sar eax, 0x10
sar ecx, 0x18
mov byte [ebp - 0x291], al
lea eax, [ebp - 0x29c]
mov byte [ebp - 0x290], cl
lea ecx, [ebp - 0x430]
push eax
mov byte [ebp - 0x294], 0
mov word [ebp - 0x28f], 0x3b
call fcn.00496100
lea ecx, [ebp - 0x22c]
call fcn.00415ef0
lea ecx, [ebp - 0x430]
lea eax, [eax*2 + 1]
cdq
push edx
push eax
push ebx
call fcn.00496100
push ebx
call fcn.004be903
add esp, 4
lea eax, [ebp - 0x22d]
lea ecx, [ebp - 0x430]
push 0
push 1
push eax
call fcn.00496100
lea ecx, [ebp - 0x2ac]
call fcn.00415ef0
mov ebx, dword [ebp - 0x238]
lea ecx, [ebp - 0x430]
add eax, eax
cdq
push edx
push eax
push ebx
call fcn.00496100
push ebx
call fcn.004be903
add esp, 4
mov dword [ebp - 4], 0x8b
lea ecx, [ebp - 0x430]
call fcn.00497450
test al, al
je 0x4b70a4
lea ecx, [ebp - 0x430]
call fcn.00497460
test edi, edi
je 0x4b70b0
push ecx
mov ecx, edi
call fcn.004b7120
lea ecx, [ebp - 0x430]
call fcn.004917e0
jmp 0x4b6ca6
push 0x526c18
lea eax, [ebp - 0x5b0]
mov dword [ebp - 0x5ac], 6
push eax
mov dword [ebp - 0x5a8], 0x17
mov dword [ebp - 0x5a4], 0
mov dword [ebp - 0x5b0], 0x513484
call fcn.004c22fb
int3