Function at 0x4bb601
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Encode data using xor

Disassembly:
push 0x9f4
mov eax, 0x518e86
call fcn.004e3d69
mov esi, ecx
mov dword [ebp - 0x8c8], esi
xor edi, edi
mov dword [ebp - 4], edi
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x8a0]
call fcn.004027f9
mov byte [ebp - 4], 1
mov eax, dword [esi + 4]
mov ecx, dword [esi]
push eax
push ecx
lea eax, [ebp - 0x8a0]
push str.before_VerifyArmadilloKey__d___d
push eax
call fcn.00402a1d
add esp, 0xc
lea eax, [ebp - 0x8a0]
mov dword [ebp - 0x8b4], esp
mov ecx, esp
push eax
call fcn.00402305
call fcn.00454d39
pop ecx
mov ecx, dword [ebp + 8]
mov eax, dword [ecx - 0xc]
cmp eax, 0x17
jle 0x4bb74c
lea eax, [ebp - 0x9fc]
push 3
mov dword [ebp - 0xa00], eax
push ecx
lea eax, [ebp - 0xa00]
push eax
call fcn.00407356
mov byte [ebp - 4], 2
push dword [ebp - 0xa00]
mov esi, 0x5ba762
push esi
call dword [sym.imp.LicMgr.DLL_Ordinal_18]
mov bl, al
lea eax, [ebp - 0x9fc]
pop ecx
mov byte [ebp - 4], 1
pop ecx
cmp dword [ebp - 0xa00], eax
je 0x4bb6c9
push dword [ebp - 0xa00]
call fcn.004de9e3
pop ecx
test bl, bl
je 0x4bb80d
cmp byte [ebp + 0xc], 0
je 0x4bb747
push 3
push dword [ebp + 8]
lea eax, [ebp - 0x9fc]
mov dword [ebp - 0xa00], eax
lea eax, [ebp - 0xa00]
push eax
call fcn.00407356
mov byte [ebp - 4], 3
push dword [ebp - 0xa00]
push esi
call dword [sym.imp.LicMgr.DLL_Ordinal_12]
movzx esi, al
lea eax, [ebp - 0x9fc]
pop ecx
pop ecx
cmp dword [ebp - 0xa00], eax
je 0x4bb724
push dword [ebp - 0xa00]
call fcn.004de9e3
pop ecx
mov ecx, dword [ebp - 0x8a0]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0040285b
mov eax, esi
call fcn.004e3dec
ret 8
xor esi, esi
inc esi
jmp 0x4bb724
push ecx
lea eax, [ebp + 8]
mov dword [ebp - 0x8b4], esp
mov ecx, esp
push eax
call fcn.00402305
mov ecx, esi
call fcn.004b86a0
test al, al
je 0x4bcf88
mov eax, dword [esi + 4]
mov esi, dword [esi]
push eax
push esi
lea eax, [ebp - 0x8a0]
push str.After_VerifyArmadilloKey__d___d
push eax
call fcn.00402a1d
add esp, 0xc
lea eax, [ebp - 0x8a0]
mov dword [ebp - 0x8b4], esp
mov ecx, esp
push eax
call fcn.00402305
call fcn.00454d39
cmp byte [ebp + 0xc], 0
pop ecx
je 0x4bb747
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x89c]
mov dword [ebp - 0x8ac], eax
mov dword [ebp - 0x874], edi
mov dword [ebp - 0x880], edi
mov dword [ebp - 0x898], edi
call fcn.0040253b
lea eax, [ebp - 0x89c]
push eax
lea ecx, [ebp - 0x870]
mov byte [ebp - 4], 4
call fcn.00402305
mov byte [ebp - 4], 5
mov ebx, dword [ebp - 0x870]
cmp dword [ebx - 0xc], 0x17
je 0x4bb814
add ebx, 0xfffffff0
mov ecx, ebx
call fcn.0040285b
mov ecx, dword [ebp - 0x89c]
add ecx, 0xfffffff0
call fcn.0040285b
xor esi, esi
jmp 0x4bb724
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x884]
call fcn.004027f9
mov byte [ebp - 4], 6
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x878]
call fcn.004027f9
mov byte [ebp - 4], 7
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x888]
call fcn.004027f9
mov byte [ebp - 4], 8
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x87c]
call fcn.004027f9
mov edi, 0x5bfea4
push edi
xor ecx, ecx
lea esi, [ebp - 0x870]
mov byte [ebp - 4], 9
call fcn.0040788c
mov esi, eax
cmp esi, 0xffffffff
je 0x4bbf20
push esi
push 0
lea eax, [ebp - 0x8dc]
push eax
lea ecx, [ebp - 0x870]
call fcn.00407906
push eax
lea ecx, [ebp - 0x884]
mov byte [ebp - 4], 0xa
call fcn.004025da
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x8dc]
add ecx, 0xfffffff0
call fcn.0040285b
push dword [ebx - 0xc]
inc esi
push esi
lea eax, [ebp - 0x8cc]
push eax
lea ecx, [ebp - 0x870]
call fcn.00407906
push eax
lea ecx, [ebp - 0x870]
mov byte [ebp - 4], 0xb
call fcn.004025da
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x8cc]
add ecx, 0xfffffff0
call fcn.0040285b
push edi
xor ecx, ecx
lea esi, [ebp - 0x870]
call fcn.0040788c
mov esi, eax
cmp esi, 0xffffffff
je 0x4bbc05
push esi
push 0
lea eax, [ebp - 0x8d8]
push eax
lea ecx, [ebp - 0x870]
call fcn.00407906
push eax
lea ecx, [ebp - 0x878]
mov byte [ebp - 4], 0xc
call fcn.004025da
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x8d8]
add ecx, 0xfffffff0
call fcn.0040285b
mov eax, dword [ebp - 0x870]
push dword [eax - 0xc]
inc esi
push esi
lea eax, [ebp - 0x8e0]
push eax
lea ecx, [ebp - 0x870]
call fcn.00407906
push eax
lea ecx, [ebp - 0x870]
mov byte [ebp - 4], 0xd
call fcn.004025da
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x8e0]
add ecx, 0xfffffff0
call fcn.0040285b
push edi
xor ecx, ecx
lea esi, [ebp - 0x870]
call fcn.0040788c
mov esi, eax
cmp esi, 0xffffffff
je 0x4bbc05
push esi
push 0
lea eax, [ebp - 0x8d4]
push eax
lea ecx, [ebp - 0x870]
call fcn.00407906
push eax
lea ecx, [ebp - 0x888]
mov byte [ebp - 4], 0xe
call fcn.004025da
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x8d4]
add ecx, 0xfffffff0
call fcn.0040285b
mov eax, dword [ebp - 0x870]
push dword [eax - 0xc]
inc esi
push esi
lea eax, [ebp - 0x8d0]
push eax
lea ecx, [ebp - 0x870]
call fcn.00407906
push eax
lea ecx, [ebp - 0x87c]
mov byte [ebp - 4], 0xf
call fcn.004025da
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x8d0]
add ecx, 0xfffffff0
call fcn.0040285b
push 6
pop edi
push 2
xor ecx, ecx
pop esi
mov eax, edi
mov edx, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004bd34c
mov ebx, eax
mov eax, dword [ebp - 0x884]
pop ecx
mov ecx, ebx
mov dword [ebp - 0x8bc], ebx
sub ecx, eax
movzx edx, word [eax]
mov word [eax + ecx], dx
add eax, esi
test dx, dx
jne 0x4bba42
xor ecx, ecx
mov eax, edi
mov edx, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004bd34c
mov edx, eax
mov eax, dword [ebp - 0x878]
mov dword [ebp - 0x8b8], edx
pop ecx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, esi
test cx, cx
jne 0x4bba76
xor ecx, ecx
mov eax, edi
mov edx, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004bd34c
mov edx, eax
mov eax, dword [ebp - 0x888]
mov dword [ebp - 0x894], edx
pop ecx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, esi
test cx, cx
jne 0x4bbaaa
xor ecx, ecx
mov eax, edi
mov edx, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004bd34c
mov edx, eax
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x890], edx
pop ecx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, esi
test cx, cx
jne 0x4bbade
xor ecx, ecx
mov eax, edi
mov edx, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004bd34c
mov edi, dword [ebp - 0x8b8]
pop ecx
mov ecx, eax
mov edx, ebx
sub edi, ebx
mov dword [ebp - 0x8b0], ecx
sub edx, ecx
mov dword [ebp - 0x88c], 5
or dword [ebp - 0x874], 0xffffffff
or dword [ebp - 0x880], 0xffffffff
lea eax, [edx + ecx]
mov bl, byte [eax + edi]
mov al, byte [eax]
mov byte [ebp - 0x869], al
mov byte [ebp - 0x8a5], bl
xor eax, eax
mov bl, byte [ebp - 0x8a5]
cmp byte [eax + str.9PHVYB7EM6TW5SFZ8KUA3CNX4G2DRJ], bl
jne 0x4bbb58
mov dword [ebp - 0x874], eax
mov bl, byte [ebp - 0x869]
cmp byte [eax + str.23456789ABCDEFGHJKMNPRSTUVWXYZ], bl
jne 0x4bbb6c
mov dword [ebp - 0x880], eax
inc eax
cmp eax, 0x1e
jl 0x4bbb44
mov eax, dword [ebp - 0x874]
sub eax, dword [ebp - 0x880]
jns 0x4bbb83
add eax, 0x1e
movsx ax, byte [eax + str.23456789ABCDEFGHJKMNPRSTUVWXYZ]
mov word [ecx], ax
add ecx, esi
dec dword [ebp - 0x88c]
jne 0x4bbb20
mov edi, dword [ebp - 0x8b0]
xor eax, eax
push edi
mov ecx, 0x60b2d0
mov word [edi + 0xa], ax
call fcn.00413eb9
test eax, eax
je 0x4bbc4b
mov eax, 0x5d078c
mov edx, edi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, esi
test cx, cx
jne 0x4bbbc0
push dword [ebp - 0x8bc]
call fcn.004bd341
pop ecx
push dword [ebp - 0x8b8]
call fcn.004bd341
pop ecx
push edi
call fcn.004bd341
pop ecx
push dword [ebp - 0x894]
call fcn.004bd341
pop ecx
push dword [ebp - 0x890]
call fcn.004bd341
pop ecx
mov ecx, dword [ebp - 0x87c]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x888]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x878]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x884]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x870]
add ecx, 0xfffffff0
jmp 0x4bb7fa
mov ebx, dword [ebp - 0x894]
mov al, byte [ebx]
xor ecx, ecx
cmp byte [ecx + str.VE9WMBCX8SP3DJT7A5GZUNHF2R6KY4], al
je 0x4bbc63
inc ecx
cmp ecx, 0xb
jl 0x4bbc55
mov al, byte [ebx + 2]
push 0xb
pop ecx
cmp byte [ecx + str.VE9WMBCX8SP3DJT7A5GZUNHF2R6KY4], al
je 0x4bbc77
inc ecx
cmp ecx, 0x17
jl 0x4bbc69
mov al, byte [ebx + 4]
or edi, 0xffffffff
mov dword [ebp - 0x898], edi
mov dword [ebp - 0x88c], edi
xor esi, esi
mov cl, byte [esi + str.VE9WMBCX8SP3DJT7A5GZUNHF2R6KY4]
cmp cl, al
jne 0x4bbc9b
mov dword [ebp - 0x898], esi
cmp cl, byte [ebx + 6]
jne 0x4bbca2
mov edi, esi
cmp cl, byte [ebx + 8]
jne 0x4bbcad
mov dword [ebp - 0x88c], esi
cmp dword [ebp - 0x898], 0
jl 0x4bbcc3
test edi, edi
jl 0x4bbcc3
cmp dword [ebp - 0x88c], 0
jge 0x4bbcc9
inc esi
cmp esi, 0x1e
jl 0x4bbc8b
mov eax, dword [ebp - 0x898]
cdq
sub eax, edx
mov ecx, eax
mov eax, edi
cdq
sar ecx, 1
add ecx, 0xe
sub eax, edx
sar eax, 1
mov dword [ebp - 0x874], ecx
mov dword [ebp - 0x880], eax
jne 0x4bbcf8
mov dword [ebp - 0x880], 0xc
mov eax, dword [ebp - 0x88c]
mov dword [ebp - 0x898], 0x1e
test eax, eax
je 0x4bbd12
mov dword [ebp - 0x898], eax
cmp ecx, 0x64
jae 0x4bbd23
add ecx, 0x7d0
mov dword [ebp - 0x874], ecx
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x8a4]
call fcn.004027f9
mov byte [ebp - 4], 0x10
xor edi, edi
mov eax, dword [ebp - 0x890]
mov al, byte [eax + edi*2]
xor esi, esi
cmp byte [esi + str.9PHVYB7EM6TW5SFZ8KUA3CNX4G2DRJ], al
je 0x4bbd53
inc esi
cmp esi, 0xa
jl 0x4bbd45
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x88c]
call fcn.004027f9
push esi
lea eax, [ebp - 0x88c]
push 0x5b2754
push eax
mov byte [ebp - 4], 0x11
call fcn.00402a1d
mov esi, dword [ebp - 0x88c]
add esp, 0xc
push dword [esi - 0xc]
lea ecx, [ebp - 0x8a4]
push esi
call fcn.00414446
add esi, 0xfffffff0
mov ecx, esi
mov byte [ebp - 4], 0x10
call fcn.0040285b
inc edi
cmp edi, 5
jl 0x4bbd3a
mov esi, dword [ebp - 0x8a4]
push esi
call fcn.004df43f
pop ecx
push 8
mov dword [ebp - 0x8c0], eax
pop ecx
xor eax, eax
mov word [ebp - 0x54], ax
push ebx
push dword [ebp - 0x8b0]
lea edi, [ebp - 0x52]
push dword [ebp - 0x8bc]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x54]
push str._s__s__s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
push 0x12
call fcn.004bd34c
mov edi, eax
pop ecx
lea eax, [ebp - 0x9fc]
mov dword [ebp - 0xa00], eax
push 3
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0xa00]
push eax
call fcn.00407356
mov ebx, dword [ebp - 0xa00]
mov ecx, edi
mov eax, ebx
sub ecx, ebx
mov dl, byte [eax]
mov byte [ecx + eax], dl
inc eax
test dl, dl
jne 0x4bbe1c
lea eax, [ebp - 0x9fc]
cmp ebx, eax
je 0x4bbe37
push ebx
call fcn.004de9e3
pop ecx
mov dword [ebp - 0x88c], 0x11
mov eax, edi
xor ebx, ebx
movzx edx, byte [eax]
mov ecx, ebx
shr ecx, 8
shl ebx, 8
xor ecx, edx
xor ebx, dword [ecx*4 + 0x6017a8]
and ebx, 0xffff
inc eax
dec dword [ebp - 0x88c]
cmp dword [ebp - 0x88c], 0
jg 0x4bbe45
push edi
call fcn.004bd341
movzx eax, bx
cmp dword [ebp - 0x8c0], eax
pop ecx
push dword [ebp - 0x8bc]
sete bl
call fcn.004bd341
pop ecx
push dword [ebp - 0x8b8]
call fcn.004bd341
pop ecx
push dword [ebp - 0x8b0]
call fcn.004bd341
pop ecx
push dword [ebp - 0x894]
call fcn.004bd341
pop ecx
push dword [ebp - 0x890]
call fcn.004bd341
pop ecx
lea ecx, [esi - 0x10]
call fcn.0040285b
mov ecx, dword [ebp - 0x87c]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x888]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x878]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x884]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x870]
add ecx, 0xfffffff0
call fcn.0040285b
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x89c]
add ecx, 0xfffffff0
call fcn.0040285b
jmp 0x4bbf74
mov ecx, dword [ebp - 0x87c]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x888]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x878]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x884]
add ecx, 0xfffffff0
call fcn.0040285b
lea ecx, [ebx - 0x10]
call fcn.0040285b
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x89c]
add ecx, 0xfffffff0
call fcn.0040285b
xor bl, bl
test bl, bl
je 0x4bb80d
lea eax, [ebp - 0x970]
call fcn.00445b7d
xor eax, eax
push eax
push eax
push eax
push dword [ebp - 0x898]
lea ecx, [ebp - 0x97c]
push dword [ebp - 0x880]
push dword [ebp - 0x874]
call fcn.00445cb8
lea eax, [ebp - 0x970]
push eax
lea ecx, [ebp - 0x97c]
call fcn.004bcfd0
test al, al
je 0x4bbfef
lea eax, [ebp - 0x970]
push eax
lea esi, [ebp - 0x8ec]
lea eax, [ebp - 0x97c]
call fcn.00493003
mov ecx, esi
call fcn.00492fd3
fcomp qword [0x5d12b0]
fnstsw ax
test ah, 0x41
je 0x4bb80d
push dword [ebp - 0x8ac]
lea ecx, [ebp - 0x888]
call fcn.0040253b
lea ebx, [ebp - 0x888]
mov byte [ebp - 4], 0x12
call fcn.0040db9b
mov ebx, eax
call fcn.0040dbe8
lea edi, [ebp - 0x888]
call fcn.004078bd
mov eax, edi
push eax
lea ecx, [ebp - 0x884]
call fcn.00402305
lea ebx, [ebp - 0x884]
mov byte [ebp - 4], 0x13
call fcn.0040db9b
mov ebx, eax
call fcn.0040dbe8
lea edi, [ebp - 0x884]
call fcn.004078bd
mov esi, dword [ebp - 0x8c8]
add esi, 8
mov eax, dword [esi]
mov eax, dword [eax - 0xc]
mov ebx, 0x6098a8
test eax, eax
je 0x4bc08c
push dword [ebp - 0x884]
xor ecx, ecx
call fcn.0040788c
cmp eax, 0xffffffff
je 0x4bc08c
mov ecx, dword [ebp - 0x884]
add ecx, 0xfffffff0
call fcn.0040285b
jmp 0x4bc4c8
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x884]
add ecx, 0xfffffff0
call fcn.0040285b
push esi
lea eax, [ebp - 0x888]
push eax
lea eax, [ebp - 0x8ac]
push eax
call fcn.00402130
add esp, 0xc
push eax
mov ecx, esi
mov byte [ebp - 4], 0x14
call fcn.004025da
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x8ac]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [esi]
mov eax, 0xff
cmp dword [ecx - 0xc], eax
jle 0x4bc108
push eax
lea eax, [ebp - 0x8c0]
push eax
mov ecx, esi
call fcn.00407984
push eax
mov ecx, esi
mov byte [ebp - 4], 0x15
call fcn.004025da
mov ecx, dword [ebp - 0x8c0]
add ecx, 0xfffffff0
call fcn.0040285b
push ebx
mov dword [ebp - 0x8b4], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x16
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x890]
call fcn.004027f9
push 3
lea eax, [ebp - 0x890]
push 0x5b2754
push eax
mov byte [ebp - 4], 0x17
call fcn.00402a1d
mov edi, dword [esi]
add esp, 0xc
push dword [ebp - 0x890]
mov ecx, 0x60b2d8
call fcn.004ccb16
push edi
mov ecx, eax
call fcn.00402719
mov edi, dword [esi]
lea eax, [ebp - 0x874]
push eax
lea esi, [ebp - 0x8f8]
mov dword [ebp - 0x874], VariantCopy
call fcn.0040ac2c
mov byte [ebp - 4], 0x18
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x880]
call fcn.004027f9
push 3
mov byte [ebp - 4], 0x19
push dword [0x60b2bc]
lea eax, [ebp - 0x880]
push dword [0x60b2c4]
push eax
call fcn.00402a1d
add esp, 0x10
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x870]
call fcn.004027f9
push 0x200
lea eax, [ebp - 0x668]
push 0
mov byte [ebp - 4], 0x1a
push eax
mov dword [ebp - 0x8f8], 0x2001f
call fcn.004e38a0
add esp, 0xc
push 0xff
lea eax, [ebp - 0x668]
push edi
push eax
call fcn.004dfd1a
mov eax, dword [0x60b2d4]
add esp, 0xc
cmp dword [eax - 0xc], 0
jne 0x4bc223
mov ecx, dword [ebp - 0x870]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x880]
add ecx, 0xfffffff0
jmp 0x4bc495
push 7
pop ecx
mov esi, str.Microsoft_Visual_C_Library
lea edi, [ebp - 0x30]
rep movsd dword es:[edi], dword [esi]
push 0x101
lea eax, [ebp - 0x160]
push 0
push eax
movsb byte es:[edi], byte [esi]
call fcn.004e38a0
add esp, 0xc
push 0x101
lea eax, [ebp - 0x268]
push 0
push eax
call fcn.004e38a0
add esp, 0xc
xor eax, eax
mov edi, 0x100
mov byte [ebp + eax - 0x160], al
inc eax
cmp eax, edi
jb 0x4bc264
mov eax, dword [0x60b2d4]
xor ecx, ecx
xor esi, esi
cmp dword [eax - 0xc], ecx
je 0x4bc297
cmp esi, dword [eax - 0xc]
jb 0x4bc285
xor esi, esi
mov dl, byte [eax + esi*2]
inc esi
mov byte [ebp + ecx - 0x268], dl
inc ecx
cmp ecx, edi
jb 0x4bc27e
jmp 0x4bc2b1
xor eax, eax
cmp esi, 0x1c
jb 0x4bc2a0
xor esi, esi
mov dl, byte [ebp + esi - 0x30]
inc esi
mov byte [ebp + eax - 0x268], dl
inc eax
cmp eax, edi
jb 0x4bc299
xor ecx, ecx
mov dword [ebp - 0x878], ecx
mov eax, 0xff
movzx edi, byte [ebp + ecx - 0x268]
add edi, dword [ebp - 0x878]
lea esi, [ebp + ecx - 0x160]
mov dl, byte [esi]
mov byte [ebp - 0x869], dl
movzx edx, dl
add edx, edi
and edx, eax
mov edi, edx
movzx dx, byte [ebp - 0x869]
movzx edx, dx
mov dword [ebp - 0x878], edi
lea edi, [ebp + edi - 0x160]
mov dword [ebp - 0x874], edx
mov dl, byte [edi]
mov byte [esi], dl
mov dl, byte [ebp - 0x874]
inc ecx
mov byte [edi], dl
cmp ecx, 0x100
jb 0x4bc2be
xor ecx, ecx
mov dword [ebp - 0x878], ecx
mov dword [ebp - 0x87c], ecx
inc ecx
and ecx, eax
lea esi, [ebp + ecx - 0x160]
mov dl, byte [esi]
mov byte [ebp - 0x869], dl
movzx edx, dl
add edx, dword [ebp - 0x878]
and edx, eax
mov dword [ebp - 0x878], edx
movzx dx, byte [ebp - 0x869]
mov edi, dword [ebp - 0x878]
movzx edx, dx
mov dword [ebp - 0x874], edx
lea edi, [ebp + edi - 0x160]
mov dl, byte [edi]
mov byte [esi], dl
mov dl, byte [ebp - 0x874]
mov byte [edi], dl
movzx esi, byte [esi]
movzx edx, dl
add esi, edx
and esi, eax
movzx dx, byte [ebp + esi - 0x160]
mov esi, dword [ebp - 0x87c]
movzx edx, dx
xor byte [ebp + esi - 0x668], dl
inc dword [ebp - 0x87c]
cmp dword [ebp - 0x87c], 0x1fe
jb 0x4bc325
xor eax, eax
mov word [ebp - 0x46a], ax
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x874]
call fcn.004027f9
push 3
mov byte [ebp - 4], 0x1b
push dword [0x60b2cc]
lea eax, [ebp - 0x874]
push eax
call fcn.00402a1d
add esp, 8
lea eax, [ebp - 0x874]
mov dword [ebp - 0x8c4], esp
mov ecx, esp
push eax
lea esi, [ebp - 0x668]
call fcn.00402305
mov ecx, esi
call fcn.004b7807
pop ecx
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x874]
add ecx, 0xfffffff0
call fcn.0040285b
mov edi, dword [ebp - 0x880]
push 1
push edi
push SysReAllocStringLen
lea esi, [ebp - 0x8f8]
call fcn.0040ac48
test eax, eax
je 0x4bc44f
push 0x200
lea eax, [ebp - 0x668]
push eax
push dword [ebp - 0x870]
mov eax, esi
call fcn.0040aeda
call fcn.0040aca6
push 1
push edi
push reloc.OLEAUT32.dll_SysReAllocString
lea esi, [ebp - 0x8f8]
call fcn.0040ac48
test eax, eax
je 0x4bc484
push 0x200
lea eax, [ebp - 0x668]
push eax
push dword [ebp - 0x870]
mov eax, esi
call fcn.0040aeda
call fcn.0040aca6
mov ecx, dword [ebp - 0x870]
add ecx, 0xfffffff0
call fcn.0040285b
lea ecx, [edi - 0x10]
call fcn.0040285b
lea esi, [ebp - 0x8f8]
call fcn.0040aca6
mov ecx, dword [ebp - 0x8f0]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x890]
add ecx, 0xfffffff0
call fcn.0040285b
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x888]
add ecx, 0xfffffff0
call fcn.0040285b
push 0x400
push 0
lea eax, [ebp - 0x8a4]
push eax
lea ecx, [ebp - 0x970]
call fcn.00445d15
mov edi, 0x200
push edi
lea eax, [ebp - 0x868]
push 0
push eax
mov byte [ebp - 4], 0x1c
call fcn.004e38a0
add esp, 0xc
push 0xff
push dword [ebp - 0x8a4]
lea eax, [ebp - 0x868]
push eax
call fcn.004dfd1a
add esp, 0xc
lea eax, [ebp - 0x868]
push eax
lea ecx, [ebp - 0x894]
call fcn.0040253b
push ebx
mov dword [ebp - 0x8b4], ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 4], 0x1e
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x890]
call fcn.004027f9
push 2
lea eax, [ebp - 0x890]
push 0x5b2754
push eax
mov byte [ebp - 4], 0x1f
call fcn.00402a1d
mov esi, dword [ebp - 0x894]
add esp, 0xc
push dword [ebp - 0x890]
mov ecx, 0x60b2d8
call fcn.004ccb16
push esi
mov ecx, eax
call fcn.00402719
mov eax, dword [ebp - 0x894]
mov dword [ebp - 0x8b0], eax
lea eax, [ebp - 0x874]
push eax
lea esi, [ebp - 0x934]
mov dword [ebp - 0x874], VariantCopy
call fcn.0040ac2c
mov byte [ebp - 4], 0x20
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x880]
call fcn.004027f9
push 2
mov byte [ebp - 4], 0x21
push dword [0x60b2bc]
lea eax, [ebp - 0x880]
push dword [0x60b2c4]
push eax
call fcn.00402a1d
add esp, 0x10
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x870]
call fcn.004027f9
push edi
lea eax, [ebp - 0x468]
push 0
mov byte [ebp - 4], 0x22
push eax
mov dword [ebp - 0x934], 0x2001f
call fcn.004e38a0
add esp, 0xc
push 0xff
push dword [ebp - 0x8b0]
lea eax, [ebp - 0x468]
push eax
call fcn.004dfd1a
mov eax, dword [0x60b2d4]
add esp, 0xc
cmp dword [eax - 0xc], 0
jne 0x4bc664
mov ecx, dword [ebp - 0x870]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x880]
add ecx, 0xfffffff0
jmp 0x4bc8d6
push 7
pop ecx
mov esi, str.Microsoft_Visual_C_Library
lea edi, [ebp - 0x30]
rep movsd dword es:[edi], dword [esi]
push 0x101
lea eax, [ebp - 0x160]
push 0
push eax
movsb byte es:[edi], byte [esi]
call fcn.004e38a0
add esp, 0xc
push 0x101
lea eax, [ebp - 0x268]
push 0
push eax
call fcn.004e38a0
add esp, 0xc
xor eax, eax
mov edi, 0x100
mov byte [ebp + eax - 0x160], al
inc eax
cmp eax, edi
jb 0x4bc6a5
mov eax, dword [0x60b2d4]
xor ecx, ecx
xor esi, esi
cmp dword [eax - 0xc], ecx
je 0x4bc6d8
cmp esi, dword [eax - 0xc]
jb 0x4bc6c6
xor esi, esi
mov dl, byte [eax + esi*2]
inc esi
mov byte [ebp + ecx - 0x268], dl
inc ecx
cmp ecx, edi
jb 0x4bc6bf
jmp 0x4bc6f2
xor eax, eax
cmp esi, 0x1c
jb 0x4bc6e1
xor esi, esi
mov dl, byte [ebp + esi - 0x30]
inc esi
mov byte [ebp + eax - 0x268], dl
inc eax
cmp eax, edi
jb 0x4bc6da
xor ecx, ecx
mov dword [ebp - 0x878], ecx
mov eax, 0xff
movzx edi, byte [ebp + ecx - 0x268]
add edi, dword [ebp - 0x878]
lea esi, [ebp + ecx - 0x160]
mov dl, byte [esi]
mov byte [ebp - 0x869], dl
movzx edx, dl
add edx, edi
and edx, eax
mov edi, edx
movzx dx, byte [ebp - 0x869]
movzx edx, dx
mov dword [ebp - 0x878], edi
lea edi, [ebp + edi - 0x160]
mov dword [ebp - 0x874], edx
mov dl, byte [edi]
mov byte [esi], dl
mov dl, byte [ebp - 0x874]
inc ecx
mov byte [edi], dl
cmp ecx, 0x100
jb 0x4bc6ff
xor ecx, ecx
mov dword [ebp - 0x878], ecx
mov dword [ebp - 0x87c], ecx
inc ecx
and ecx, eax
lea esi, [ebp + ecx - 0x160]
mov dl, byte [esi]
mov byte [ebp - 0x869], dl
movzx edx, dl
add edx, dword [ebp - 0x878]
and edx, eax
mov dword [ebp - 0x878], edx
movzx dx, byte [ebp - 0x869]
mov edi, dword [ebp - 0x878]
movzx edx, dx
mov dword [ebp - 0x874], edx
lea edi, [ebp + edi - 0x160]
mov dl, byte [edi]
mov byte [esi], dl
mov dl, byte [ebp - 0x874]
mov byte [edi], dl
movzx esi, byte [esi]
movzx edx, dl
add esi, edx
and esi, eax
movzx dx, byte [ebp + esi - 0x160]
mov esi, dword [ebp - 0x87c]
movzx edx, dx
xor byte [ebp + esi - 0x468], dl
inc dword [ebp - 0x87c]
cmp dword [ebp - 0x87c], 0x1fe
jb 0x4bc766
xor eax, eax
mov word [ebp - 0x26a], ax
call fcn.004be6f3
push eax
lea ecx, [ebp - 0x874]
call fcn.004027f9
push 2
mov byte [ebp - 4], 0x23
push dword [0x60b2cc]
lea eax, [ebp - 0x874]
push eax
call fcn.00402a1d
add esp, 8
lea eax, [ebp - 0x874]
mov dword [ebp - 0x8c4], esp
mov ecx, esp
push eax
lea esi, [ebp - 0x468]
call fcn.00402305
mov ecx, esi
call fcn.004b7807
pop ecx
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x874]
add ecx, 0xfffffff0
call fcn.0040285b
mov edi, dword [ebp - 0x880]
push 1
push edi
push SysReAllocStringLen
lea esi, [ebp - 0x934]
call fcn.0040ac48
test eax, eax
je 0x4bc890
push 0x200
lea eax, [ebp - 0x468]
push eax
push dword [ebp - 0x870]
mov eax, esi
call fcn.0040aeda
call fcn.0040aca6
push 1
push edi
push reloc.OLEAUT32.dll_SysReAllocString
lea esi, [ebp - 0x934]
call fcn.0040ac48
test eax, eax
je 0x4bc8c5
push 0x200
lea eax, [ebp - 0x468]
push eax
push dword [ebp - 0x870]
mov eax, esi
call fcn.0040aeda
call fcn.0040aca6
mov ecx, dword [ebp - 0x870]
add ecx, 0xfffffff0
call fcn.0040285b
lea ecx, [edi - 0x10]
call fcn.0040285b
lea esi, [ebp - 0x934]
call fcn.0040aca6
mov ecx, dword [ebp - 0x92c]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x890]
add ecx, 0xfffffff0
call fcn.0040285b
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 0x894]
add ecx, 0xfffffff0
call fcn.0040285b
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x8a4]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x8c8]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
push eax
push ecx
lea eax, [ebp - 0x8a0]
push str.After_InstallArmadilloCode__d___d
push eax
call fcn.00402a1d
add esp, 0xc
lea eax, [ebp - 0x8a0]
mov ecx, esp
mov dword [ebp - 0x8c4], esp
push eax
call fcn.00402323
call fcn.00454d39
pop ecx
lea eax, [ebp - 0x8ac]
push eax
lea esi, [ebp - 0x2c]
mov dword [ebp - 0x8ac], VariantCopy
call fcn.0040ac2c
push 0x5af644
lea ecx, [ebp - 0x8b4]
mov byte [ebp - 4], 0x24
call fcn.0040253b
mov dword [ebp - 0x894], eax
push 0x5b1604
lea ecx, [ebp - 0x8c4]
mov byte [ebp - 4], 0x25
call fcn.0040253b
mov dword [ebp - 0x890], eax
mov ebx, 0x5af65c
push ebx
lea ecx, [ebp - 0x950]
mov byte [ebp - 4], 0x26
call fcn.0040253b
mov dword [ebp - 0x880], eax
push 0x5af63c
lea ecx, [ebp - 0x938]
mov byte [ebp - 4], 0x27
call fcn.0040253b
mov dword [ebp - 0x8dc], eax
mov edi, 0x5af648
push edi
lea ecx, [ebp - 0x958]
mov byte [ebp - 4], 0x28
call fcn.0040253b
mov dword [ebp - 0x8cc], eax
mov esi, 0x5b2450
push esi
lea ecx, [ebp - 0x91c]
mov byte [ebp - 4], 0x29
call fcn.0040253b
mov dword [ebp - 0x8d8], eax
mov byte [ebp - 4], 0x2a
push 0x5b2454
lea ecx, [ebp - 0x948]
call fcn.0040253b
mov dword [ebp - 0x8e0], eax
push esi
lea ecx, [ebp - 0x914]
mov byte [ebp - 4], 0x2b
call fcn.0040253b
mov dword [ebp - 0x8d4], eax
mov esi, 0x5af660
push esi
lea ecx, [ebp - 0x960]
mov byte [ebp - 4], 0x2c
call fcn.0040253b
mov dword [ebp - 0x8d0], eax
push 0x5af684
lea ecx, [ebp - 0x90c]
mov byte [ebp - 4], 0x2d
call fcn.0040253b
mov dword [ebp - 0x8c0], eax
push 0x5af69c
lea ecx, [ebp - 0x910]
mov byte [ebp - 4], 0x2e
call fcn.0040253b
mov dword [ebp - 0x8ac], eax
push 0x5b275c
lea ecx, [ebp - 0x908]
mov byte [ebp - 4], 0x2f
call fcn.0040253b
push ebx
push eax
lea eax, [ebp - 0x940]
push eax
mov byte [ebp - 4], 0x30
call fcn.00402187
add esp, 0xc
mov byte [ebp - 4], 0x31
push dword [ebp - 0x8ac]
push eax
lea eax, [ebp - 0x964]
push eax
call fcn.00402130
add esp, 0xc
push 0x5af64c
push eax
lea eax, [ebp - 0x95c]
push eax
mov byte [ebp - 4], 0x32
call fcn.00402187
add esp, 0xc
mov byte [ebp - 4], 0x33
push dword [ebp - 0x8c0]
push eax
lea eax, [ebp - 0x954]
push eax
call fcn.00402130
add esp, 0xc
push 0x5af640
push eax
lea eax, [ebp - 0x94c]
push eax
mov byte [ebp - 4], 0x34
call fcn.00402187
add esp, 0xc
mov byte [ebp - 4], 0x35
push dword [ebp - 0x8d0]
push eax
lea eax, [ebp - 0x944]
push eax
call fcn.00402130
add esp, 0xc
push edi
push eax
lea eax, [ebp - 0x93c]
push eax
mov byte [ebp - 4], 0x36
call fcn.00402187
add esp, 0xc
mov byte [ebp - 4], 0x37
push dword [ebp - 0x8d4]
push eax
lea eax, [ebp - 0x8fc]
push eax
call fcn.00402130
add esp, 0xc
push 0x5af678
push eax
lea eax, [ebp - 0x900]
push eax
mov byte [ebp - 4], 0x38
call fcn.00402187
add esp, 0xc
mov byte [ebp - 4], 0x39
push dword [ebp - 0x8e0]
push eax
lea eax, [ebp - 0x904]
push eax
call fcn.00402130
add esp, 0xc
push 0x5af664
push eax
lea eax, [ebp - 0x918]
push eax
mov byte [ebp - 4], 0x3a
call fcn.00402187
add esp, 0xc
mov byte [ebp - 4], 0x3b
push dword [ebp - 0x8d8]
push eax
lea eax, [ebp - 0x870]
push eax
call fcn.00402130
add esp, 0xc
push 0x5b244c
push eax
lea eax, [ebp - 0x87c]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402187
add esp, 0xc
mov byte [ebp - 4], 0x3d
push dword [ebp - 0x8cc]
push eax
lea eax, [ebp - 0x888]
push eax
call fcn.00402130
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x878]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402187
add esp, 0xc
mov byte [ebp - 4], 0x3f
push dword [ebp - 0x8dc]
push eax
lea eax, [ebp - 0x884]
push eax
call fcn.00402130
add esp, 0xc
push 0x5af6a4
push eax
lea eax, [ebp - 0x89c]
push eax
mov byte [ebp - 4], 0x40
call fcn.00402187
add esp, 0xc
mov byte [ebp - 4], 0x41
push dword [ebp - 0x880]
push eax
lea eax, [ebp - 0x898]
push eax
call fcn.00402130
add esp, 0xc
push 0x5af668
push eax
lea eax, [ebp - 0x88c]
push eax
mov byte [ebp - 4], 0x42
call fcn.00402187
add esp, 0xc
mov byte [ebp - 4], 0x43
push dword [ebp - 0x890]
push eax
lea eax, [ebp - 0x8bc]
push eax
call fcn.00402130
add esp, 0xc
push str.6VC
push eax
lea eax, [ebp - 0x8b8]
push eax
mov byte [ebp - 4], 0x44
call fcn.00402187
add esp, 0xc
mov byte [ebp - 4], 0x45
push dword [ebp - 0x894]
push eax
lea eax, [ebp - 0x8b0]
push eax
call fcn.00402130
add esp, 0xc
push 0x5b0d34
push eax
lea eax, [ebp - 0x874]
push eax
mov byte [ebp - 4], 0x46
call fcn.00402187
add esp, 0xc
mov ecx, dword [ebp - 0x8b0]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x8b8]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x8bc]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x88c]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x898]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x89c]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x884]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x878]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x888]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x87c]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x870]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x918]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x904]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x900]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x8fc]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x93c]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x944]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x94c]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x954]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x95c]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x964]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x940]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x908]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x910]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x90c]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x960]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x914]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x948]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x91c]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x958]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x938]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x950]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x8c4]
add ecx, 0xfffffff0
call fcn.0040285b
mov byte [ebp - 4], 0x69
mov ecx, dword [ebp - 0x8b4]
add ecx, 0xfffffff0
call fcn.0040285b
push 0x5c1228
lea ecx, [ebp - 0x8a4]
call fcn.0040253b
push 1
mov byte [ebp - 4], 0x6a
push dword [ebp - 0x874]
lea esi, [ebp - 0x2c]
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x2c], 0x2001f
call fcn.0040ac48
test eax, eax
je 0x4bcf13
mov edi, dword [ebp + 8]
push 0
push dword [ebp - 0x8a4]
mov ecx, esi
call fcn.0040ad1a
lea esi, [ebp - 0x2c]
call fcn.0040aca6
mov ecx, dword [ebp - 0x8a4]
add ecx, 0xfffffff0
call fcn.0040285b
mov ecx, dword [ebp - 0x874]
add ecx, 0xfffffff0
call fcn.0040285b
mov eax, esi
mov byte [ebp - 4], 1
call fcn.00406d3c
mov esi, dword [ebp - 0x8c8]
push esi
call fcn.004ba38c
push dword [esi + 4]
lea eax, [ebp - 0x8a0]
push dword [esi]
push str.After_RefreshAllStatus__d___d
push eax
call fcn.00402a1d
add esp, 0xc
lea eax, [ebp - 0x8a0]
mov ecx, esp
mov dword [ebp - 0x8b4], esp
push eax
call fcn.00402323
call fcn.00454d39
mov esi, dword [esi + 4]
jmp 0x4bb723
push 1
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4bb80d