Function at 0x300094dd
Capabilities:
Get session user name
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x3000e6e4
mov eax, dword fs:[0]
push eax
mov eax, 0x14c4
call fcn.3000b917
mov eax, dword [0x30001dbc]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1300], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x12b4], ecx
mov dword [ebp - 0x12f4], eax
call dword [0x30011508]
xor ebx, ebx
mov edi, eax
mov dword [ebp - 0x1298], ebx
lea eax, [ebp - 0x1298]
push eax
push 0x30001c34
push 1
push ebx
push 0x30001c80
mov dword [ebp - 4], ebx
call fcn.3000b2fe
cmp eax, ebx
mov eax, dword [ebp - 0x1298]
jge 0x30009578
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x3000956e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0xc6c81206
jmp 0x3000a181
lea edx, [ebp - 0x1324]
push edx
push ebx
push ebx
push esi
mov dword [ebp - 0x1324], 8
mov dword [ebp - 0x1320], 3
mov ecx, dword [eax]
push eax
call dword [ecx + 0xa4]
cmp eax, ebx
jge 0x300095c1
mov eax, dword [ebp - 0x1298]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x300095b7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0xc6c81207
jmp 0x3000a181
mov dword [ebp - 0x12a4], ebx
mov eax, dword [ebp - 0x1298]
mov ecx, dword [eax]
lea edx, [ebp - 0x12a4]
push edx
push eax
mov byte [ebp - 4], 1
call dword [ecx + 0x10]
cmp eax, ebx
mov eax, dword [ebp - 0x12a4]
jge 0x30009614
cmp eax, ebx
mov byte [ebp - 4], 0
je 0x300095f6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1298]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x3000960a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0xc6c81208
jmp 0x3000a181
mov ecx, dword [eax]
lea edx, [ebp - 0x12c8]
push edx
push eax
call dword [ecx + 0xc]
cmp eax, ebx
mov dword [ebp - 0x129c], eax
jge 0x3000965d
mov eax, dword [ebp - 0x12a4]
cmp eax, ebx
mov byte [ebp - 4], 0
je 0x3000963f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1298]
or dword [ebp - 4], 0xffffffff
cmp eax, ebx
je 0x30009653
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0xc6c81209
jmp 0x3000a181
lea eax, [ebp - 0x12e8]
push eax
push 0x20019
push ebx
push 0x30001580
push SysReAllocString
mov word [ebp - 0x294], bx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp dword [ebp - 0x12e8], 0xffffffff
je 0x300096d2
lea eax, [ebp - 0x12ac]
push eax
lea eax, [ebp - 0x294]
push eax
lea eax, [ebp - 0x1328]
push eax
push ebx
push 0x300015d8
push dword [ebp - 0x12e8]
mov dword [ebp - 0x12ac], 0x100
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, ebx
je 0x300096c6
mov word [ebp - 0x294], bx
push dword [ebp - 0x12e8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x294]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cmp eax, 0x3fffffff
jle 0x300096ef
mov dword [ebp - 0x12ac], ebx
jmp 0x30009710
lea esi, [eax + eax]
mov eax, esi
call fcn.3000ba0b
mov eax, esp
push edi
push esi
lea ecx, [ebp - 0x294]
push ecx
push eax
call fcn.30008f88
mov dword [ebp - 0x12ac], eax
cmp dword [ebp - 0x12c8], ebx
mov dword [ebp - 0x12ec], ebx
jbe 0x30009b79
mov dword [ebp - 0x12b0], ebx
mov dword [ebp - 0x12a8], ebx
mov eax, dword [ebp - 0x12a4]
mov ecx, dword [eax]
lea edx, [ebp - 0x12b0]
push edx
push eax
mov byte [ebp - 4], 3
call dword [ecx + 0x14]
cmp eax, ebx
mov dword [ebp - 0x129c], eax
jl 0x30009b51
mov eax, dword [ebp - 0x12b0]
mov ecx, dword [eax]
lea edx, [ebp - 0x12a8]
push edx
push 0x1000
sub esp, 0x10
mov edi, esp
mov esi, 0x30001cb0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x14]
cmp eax, ebx
mov dword [ebp - 0x129c], eax
jl 0x30009b51
mov esi, dword [ebp - 0x12b4]
cmp dword [esi + 0x210], ebx
je 0x3000987f
mov dword [ebp - 0x12d8], ebx
mov dword [ebp - 0x129c], ebx
mov eax, dword [ebp - 0x12a8]
mov ecx, dword [eax]
lea edx, [ebp - 0x129c]
push edx
mov edi, 0x30001d9c
push edi
push 0x18
push eax
mov byte [ebp - 4], 5
call dword [ecx + 0x10]
mov eax, dword [ebp - 0x12a8]
mov ecx, dword [eax]
lea edx, [ebp - 0x12d8]
push edx
push edi
push 0x17
push eax
call dword [ecx + 0x10]
push dword [ebp - 0x129c]
mov eax, dword [esi + 0x210]
push dword [ebp - 0x12d8]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x70]
cmp eax, ebx
jge 0x30009800
mov dword [esi + 0x214], 2
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x14d0]
push 0x40
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x154]
push ebx
push eax
call sub.MSVCR80.dll_memset
mov eax, dword [esi + 0x210]
mov ecx, dword [eax]
add esp, 0xc
lea edx, [ebp - 0x14d0]
push edx
push eax
call dword [ecx + 0x1c]
mov eax, dword [esi + 0x210]
mov ecx, dword [eax]
lea edx, [ebp - 0x154]
push edx
push eax
call dword [ecx + 0x24]
mov eax, dword [esi + 0x210]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x129c]
cmp eax, ebx
mov dword [esi + 0x210], ebx
mov byte [ebp - 4], 4
je 0x3000986b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x12d8]
cmp eax, ebx
mov byte [ebp - 4], 3
je 0x3000987f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x12a0], ebx
mov eax, dword [ebp - 0x12b0]
mov ecx, dword [eax]
lea edx, [ebp - 0x12a0]
push edx
push ebx
push eax
mov byte [ebp - 4], 6
call dword [ecx + 0x1c]
cmp dword [ebp - 0x12a0], ebx
mov dword [ebp - 0x129c], eax
je 0x30009afa
push 0x3000157e
push 0x3f6
push 0x11a6
push 0x30001d44
push 0x30001544
lea eax, [ebp - 0x114]
push 0x104
push eax
call fcn.3000910d
lea eax, [ebp - 0x114]
add esp, 0x1c
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x300098e5
sub eax, ecx
mov ecx, dword [ebp - 0x12a0]
mov edx, dword [ecx]
push 2
inc eax
push eax
lea eax, [ebp - 0x114]
push eax
push 0x131
push ecx
call dword [edx + 0x10]
lea eax, [ebp - 0x12e0]
push eax
lea eax, [ebp - 0xa94]
push eax
mov dword [ebp - 0x12e0], 0x400
mov byte [ebp - 0xa94], 0
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
test eax, eax
je 0x30009961
lea eax, [ebp - 0xa94]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x3000993c
mov ecx, dword [ebp - 0x12a0]
sub eax, edx
mov edx, dword [ecx]
push 2
inc eax
push eax
lea eax, [ebp - 0xa94]
push eax
push 0x13b
push ecx
call dword [edx + 0x10]
lea eax, [ebp - 0x12c4]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
cmp word [ebp - 0x12c2], 0xa
movzx eax, word [ebp - 0x12c2]
push eax
lea eax, [ebp - 0x12d4]
jae 0x3000999b
mov esi, 0x30001d40
push esi
push 3
push eax
call fcn.3000910d
mov edi, 0x30001d3c
jmp 0x300099ae
mov edi, 0x30001d3c
push edi
push 3
push eax
call fcn.3000910d
mov esi, 0x30001d40
movzx eax, word [ebp - 0x12be]
add esp, 0x10
cmp word [ebp - 0x12be], 0xa
push eax
lea eax, [ebp - 0x12cc]
jae 0x300099cc
push esi
jmp 0x300099cd
push edi
push 3
push eax
call fcn.3000910d
movzx eax, word [ebp - 0x12bc]
add esp, 0x10
cmp word [ebp - 0x12bc], 0xa
push eax
lea eax, [ebp - 0x12e4]
jae 0x300099f3
push esi
jmp 0x300099f4
push edi
push 3
push eax
call fcn.3000910d
movzx eax, word [ebp - 0x12ba]
add esp, 0x10
cmp word [ebp - 0x12ba], 0xa
push eax
lea eax, [ebp - 0x12dc]
jae 0x30009a1a
push esi
jmp 0x30009a1b
push edi
push 3
push eax
call fcn.3000910d
movzx eax, word [ebp - 0x12b8]
add esp, 0x10
cmp word [ebp - 0x12b8], 0xa
push eax
lea eax, [ebp - 0x12d0]
jae 0x30009a41
push esi
jmp 0x30009a42
push edi
push 3
push eax
call fcn.3000910d
add esp, 0x10
lea eax, [ebp - 0x12d0]
push eax
lea eax, [ebp - 0x12dc]
push eax
lea eax, [ebp - 0x12e4]
push eax
lea eax, [ebp - 0x12cc]
push eax
lea eax, [ebp - 0x12d4]
push eax
movzx eax, word [ebp - 0x12c4]
push eax
push 0x30001d28
lea eax, [ebp - 0x694]
push 0x400
push eax
call fcn.3000910d
lea eax, [ebp - 0x694]
add esp, 0x24
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x30009a9a
sub eax, ecx
mov ecx, dword [ebp - 0x12a0]
mov edx, dword [ecx]
push 2
inc eax
push eax
lea eax, [ebp - 0x694]
push eax
push 0x132
push ecx
call dword [edx + 0x10]
mov esi, dword [ebp - 0x12ac]
cmp byte [esi], 0
mov dword [ebp - 0x129c], eax
je 0x30009afa
mov eax, esi
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x30009ad5
sub eax, ecx
mov ecx, dword [ebp - 0x12a0]
mov edx, dword [ecx]
push 2
inc eax
push eax
push esi
push 0x110
push ecx
call dword [edx + 0x10]
mov dword [ebp - 0x129c], eax
mov eax, dword [ebp - 0x12a0]
cmp eax, ebx
mov byte [ebp - 4], 3
je 0x30009b0e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x12a8]
cmp eax, ebx
mov byte [ebp - 4], 2
je 0x30009b22
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x12b0]
cmp eax, ebx
mov byte [ebp - 4], 1
je 0x30009b36
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0x12ec]
movzx eax, word [ebp - 0x12ec]
cmp eax, dword [ebp - 0x12c8]
jb 0x30009722
jmp 0x30009b79
mov eax, dword [ebp - 0x12a8]
cmp eax, ebx
mov byte [ebp - 4], 2
je 0x30009b65
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x12b0]
cmp eax, ebx
mov byte [ebp - 4], 1
je 0x30009b79
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x129c], ebx
jl 0x3000a0a5
test byte [ebp + 0x1c], 8
jne 0x3000a0a5
push 0x180
lea eax, [ebp - 0x14a8]
push 0
push eax
call sub.MSVCR80.dll_memset
mov ecx, dword [ebp - 0x12b4]
mov eax, dword [ecx + 0x214]
xor esi, esi
add esp, 0xc
inc esi
xor edx, edx
test eax, eax
setne dl
cmp eax, esi
push 2
pop edi
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], edi
mov word [ebp - 0x14a8], 0x13
mov dword [ebp - 0x14a0], eax
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], 4
mov word [ebp - 0x1498], 0x13
mov dword [ebp - 0x1490], edx
mov ebx, edi
jne 0x30009c26
mov eax, dword [ecx + 0x218]
push 3
mov dword [ebp - 0xc0], esi
mov dword [ebp - 0xbc], 5
mov word [ebp - 0x1488], 0x13
mov dword [ebp - 0x1480], eax
pop ebx
and word [ebp - 0x1294], 0
lea eax, [ebp - 0x12e0]
push eax
lea eax, [ebp - 0x1294]
push eax
mov dword [ebp - 0x12e0], 0x400
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
test eax, eax
je 0x30009cc3
mov edi, ebx
shl edi, 4
lea eax, [ebp - 0x1294]
mov dword [ebp + ebx*8 - 0xd0], esi
mov dword [ebp + ebx*8 - 0xcc], 7
mov word [ebp + edi - 0x14a8], 0x1f
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x30009c7a
sub eax, ecx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemAlloc]
lea ecx, [ebp - 0x1294]
mov dword [ebp + edi - 0x14a0], eax
lea edx, [ecx + 2]
mov di, word [ecx]
inc ecx
inc ecx
test di, di
jne 0x30009ca3
sub ecx, edx
sar ecx, 1
lea edx, [ebp - 0x1294]
push edx
inc ecx
push ecx
push eax
call fcn.3000691b
inc ebx
jmp 0x30009ccb
and word [ebp - 0x1294], 0
cmp word [ebp - 0x294], 0
je 0x30009d46
mov edi, ebx
shl edi, 4
lea eax, [ebp - 0x294]
mov dword [ebp + ebx*8 - 0xd0], esi
mov dword [ebp + ebx*8 - 0xcc], 0xb
mov word [ebp + edi - 0x14a8], 0x1f
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x30009cff
sub eax, ecx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemAlloc]
lea ecx, [ebp - 0x294]
mov dword [ebp + edi - 0x14a0], eax
lea edx, [ecx + 2]
mov di, word [ecx]
inc ecx
inc ecx
test di, di
jne 0x30009d28
sub ecx, edx
sar ecx, 1
lea edx, [ebp - 0x294]
push edx
inc ecx
push ecx
push eax
call fcn.3000691b
inc ebx
lea eax, [ebp - 0x12f0]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemTimeAsFileTime]
mov ecx, dword [ebp - 0x12f0]
push 2
mov dword [ebp + ebx*8 - 0xd0], esi
lea edx, [ebp - 0x14a8]
push edx
mov eax, ebx
shl eax, 4
mov dword [ebp + ebx*8 - 0xcc], 0x1a
lea edx, [ebp - 0xd0]
push edx
inc ebx
push ebx
sub esp, 0x10
mov edi, esp
mov esi, 0x30001ca0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp + eax - 0x14a0], ecx
mov ecx, dword [ebp - 0x12ec]
mov word [ebp + eax - 0x14a8], 0x40
mov dword [ebp + eax - 0x149c], ecx
mov eax, dword [ebp - 0x1298]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x20]
test ebx, ebx
jbe 0x30009dd9
lea esi, [ebp - 0x14a8]
push esi
call dword [sym.imp.IPROP.dll_PropVariantClear]
xor eax, eax
mov edi, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esi, 0x10
dec ebx
stosd dword es:[edi], eax
jne 0x30009dc4
xor ebx, ebx
cmp word [ebp - 0x1294], bx
je 0x30009e76
lea eax, [ebp - 0x1294]
lea edx, [eax + 2]
mov cx, word [eax]
inc eax
inc eax
cmp cx, bx
jne 0x30009df1
mov edi, dword [sym.imp.ole32.dll_CoTaskMemAlloc]
sub eax, edx
sar eax, 1
lea ebx, [eax + 1]
xor esi, esi
lea eax, [ebx + ebx]
inc esi
push eax
mov dword [ebp - 0xd0], esi
mov dword [ebp - 0xcc], 4
mov word [ebp - 0x14a8], 0x1f
call edi
lea ecx, [ebp - 0x1294]
push ecx
push ebx
push eax
mov dword [ebp - 0x14a0], eax
call fcn.3000691b
lea eax, [ebx + ebx]
push eax
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], 8
mov word [ebp - 0x1498], 0x1f
call edi
lea ecx, [ebp - 0x1294]
push ecx
push ebx
push eax
mov dword [ebp - 0x1490], eax
call fcn.3000691b
push 2
pop ebx
jmp 0x30009e7f
mov edi, dword [sym.imp.ole32.dll_CoTaskMemAlloc]
xor esi, esi
inc esi
push 0xa
push 0x40
lea eax, [ebp - 0x194]
push eax
push 0x11a6
call dword [sym.imp.MSVCR80.dll__itow_s]
lea eax, [ebp - 0x194]
add esp, 0x10
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x30009ea1
sub eax, ecx
sar eax, 1
mov dword [ebp - 0x12ac], eax
mov ecx, ebx
shl ecx, 4
lea eax, [eax + eax + 2]
push eax
mov dword [ebp + ebx*8 - 0xd0], esi
mov dword [ebp + ebx*8 - 0xcc], 9
mov dword [ebp - 0x12b4], ecx
mov word [ebp + ecx - 0x14a8], 0x1f
call edi
mov ecx, dword [ebp - 0x12b4]
mov dword [ebp + ecx - 0x14a0], eax
lea ecx, [ebp - 0x194]
push ecx
mov ecx, dword [ebp - 0x12ac]
inc ecx
push ecx
push eax
call fcn.3000691b
mov ecx, dword [ebp - 0x12c8]
push 0x3000157c
push 0x3f6
inc ebx
push 0x11a6
mov eax, ebx
shl eax, 4
push 0x30001d1c
push 0x300014d8
mov word [ebp + eax - 0x14a8], 3
mov dword [ebp + eax - 0x14a0], ecx
lea eax, [ebp - 0x494]
push 0x100
mov dword [ebp + ebx*8 - 0xd0], esi
mov dword [ebp + ebx*8 - 0xcc], 0xe
push eax
inc ebx
call fcn.30009165
add esp, 0x1c
cmp dword [ebp - 0x12f4], 0
je 0x30009fbb
push 0x104
lea eax, [ebp - 0x89c]
push eax
push 0x4657
push dword [0x300115cc]
call dword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x30009fa4
lea eax, [ebp - 0x89c]
push eax
push 0x100
lea eax, [ebp - 0x494]
push eax
call fcn.30007498
push dword [ebp - 0x12f4]
lea eax, [ebp - 0x494]
push 0x100
push eax
call fcn.30007498
mov eax, ebx
shl eax, 4
mov dword [ebp + ebx*8 - 0xd0], esi
lea esi, [ebp + eax - 0x14a0]
and dword [esi], 0
mov word [ebp + eax - 0x14a8], 0x1f
lea eax, [ebp - 0x494]
mov dword [ebp + ebx*8 - 0xcc], 0x12
lea ecx, [eax + 2]
mov dx, word [eax]
inc eax
inc eax
test dx, dx
jne 0x30009fef
sub eax, ecx
sar eax, 1
lea eax, [eax + eax + 2]
push eax
call edi
lea ecx, [ebp - 0x494]
mov dword [esi], eax
lea edx, [ecx + 2]
mov si, word [ecx]
inc ecx
inc ecx
test si, si
jne 0x3000a00f
sub ecx, edx
sar ecx, 1
lea edx, [ebp - 0x494]
push edx
inc ecx
push ecx
push eax
call fcn.3000691b
inc ebx
push 2
mov eax, ebx
shl eax, 4
and dword [ebp + eax - 0x14a0], 0
lea edx, [ebp - 0x14a8]
push edx
mov dword [ebp + ebx*8 - 0xd0], 1
mov dword [ebp + ebx*8 - 0xcc], 0x13
lea edx, [ebp - 0xd0]
push edx
inc ebx
push ebx
sub esp, 0x10
mov edi, esp
mov esi, 0x30001d8c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov word [ebp + eax - 0x14a8], 3
mov eax, dword [ebp - 0x1298]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x20]
test ebx, ebx
jbe 0x3000a0a5
lea esi, [ebp - 0x14a8]
push esi
call dword [sym.imp.IPROP.dll_PropVariantClear]
xor eax, eax
mov edi, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
add esi, 0x10
dec ebx
stosd dword es:[edi], eax
jne 0x3000a090
mov eax, dword [ebp + 0x14]
xor esi, esi
sub eax, esi
mov dword [ebp - 0x1304], esi
mov dword [ebp - 0x12fc], 8
mov dword [ebp - 0x131c], 0x1c
mov dword [ebp - 0x1318], esi
je 0x3000a106
dec eax
jne 0x3000a130
mov ecx, dword [ebp + 0x18]
mov eax, 0x100
mov dword [ebp - 0x1310], eax
mov dword [ebp - 0x130c], eax
xor eax, eax
cmp ecx, 0x41
seta al
mov dword [ebp - 0x12f8], 2
mov dword [ebp - 0x1308], ecx
inc eax
mov dword [ebp - 0x1314], eax
jmp 0x3000a130
or dword [ebp - 0x1308], 0xffffffff
push 0x20
pop eax
mov dword [ebp - 0x12f8], 1
mov dword [ebp - 0x1314], 2
mov dword [ebp - 0x1310], eax
mov dword [ebp - 0x130c], eax
mov eax, dword [ebp - 0x1298]
mov ecx, dword [eax]
lea edx, [ebp - 0x12fc]
push edx
lea edx, [ebp - 0x131c]
push edx
push esi
push esi
push dword [ebp - 0x1300]
push eax
call dword [ecx + 0xa8]
mov edi, eax
mov eax, dword [ebp - 0x12a4]
cmp eax, esi
mov byte [ebp - 4], 0
je 0x3000a16b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x1298]
or dword [ebp - 4], 0xffffffff
cmp eax, esi
je 0x3000a17f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, edi
lea esp, [ebp - 0x14e0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.3000adb6
leave
ret 0x18