Function at 0x10002ab0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1000aa10
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x22c
mov al, byte [0x1000f520]
push ebx
mov byte [ebp - 0x14], al
mov eax, dword [0x1000f21c]
push esi
xor ebx, ebx
push edi
mov edi, dword [0x1000f514]
cmp eax, ebx
mov dword [ebp - 0x10], esp
jne 0x10002b59
mov eax, dword [0x1000f148]
xor esi, esi
cmp eax, ebx
mov dword [0x1000f21c], ebx
jne 0x10002b29
mov edx, dword [0x1000f154]
cmp edx, ebx
je 0x10002b51
cmp byte [edx], bl
je 0x10002b51
cmp dword [0x1000f14c], ebx
jne 0x10002b51
push 1
push edx
mov ecx, 0x1000f148
call fcn.10002730
cmp dword [0x1000f148], ebx
je 0x10002b4b
mov ecx, dword [0x1000f148]
push 0x1000c314
push ecx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
xor edx, edx
cmp esi, ebx
setne dl
inc edx
mov dword [0x1000f21c], edx
mov edx, dword [0x1000f154]
mov dword [0x1000f218], esi
jmp 0x10002b5f
mov edx, dword [0x1000f154]
cmp dword [0x1000f21c], 2
je 0x10002b6c
xor eax, eax
jmp 0x10002b7d
mov eax, dword [ebp - 0x14]
push eax
push edi
call dword [0x1000f218]
mov edx, dword [0x1000f154]
xor esi, esi
test al, 2
mov dword [ebp - 0x18], esi
je 0x10002d26
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x237]
mov byte [ebp - 0x238], bl
rep stosd dword es:[edi], eax
mov cl, byte [0x1000f520]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [0x1000f20c]
mov edi, dword [0x1000f514]
cmp eax, ebx
mov byte [ebp - 0x14], cl
jne 0x10002c15
mov eax, dword [0x1000f148]
mov dword [0x1000f20c], ebx
cmp eax, ebx
jne 0x10002bee
cmp edx, ebx
je 0x10002c0f
cmp byte [edx], bl
je 0x10002c0f
cmp dword [0x1000f14c], ebx
jne 0x10002c0f
push 1
push edx
mov ecx, 0x1000f148
call fcn.10002730
cmp dword [0x1000f148], ebx
je 0x10002c0f
mov edx, dword [0x1000f148]
push 0x1000c1e0
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
xor eax, eax
cmp esi, ebx
setne al
inc eax
mov dword [0x1000f20c], eax
mov dword [0x1000f208], esi
cmp dword [0x1000f20c], 2
jne 0x10002c30
mov ecx, dword [ebp - 0x14]
lea edx, [ebp - 0x238]
push ecx
push edx
push edi
call dword [0x1000f208]
push str.ChangePassword_begin
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp + 8]
mov edi, dword [0x1000f514]
mov dword [ebp - 4], ebx
mov ecx, dword [eax]
mov dword [ebp - 0x38], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x34], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x30], ecx
mov edx, dword [eax + 0xc]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x2c], edx
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x24], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x20], ecx
mov edx, dword [eax + 0xc]
mov al, byte [0x1000f520]
mov byte [ebp + 8], al
mov eax, dword [0x1000f1d4]
cmp eax, ebx
mov dword [ebp - 0x1c], edx
jne 0x10002ce7
mov eax, dword [0x1000f148]
xor esi, esi
cmp eax, ebx
mov dword [0x1000f1d4], ebx
jne 0x10002cc5
mov eax, dword [0x1000f154]
cmp eax, ebx
je 0x10002ce1
cmp byte [eax], bl
je 0x10002ce1
cmp dword [0x1000f14c], ebx
jne 0x10002ce1
push 1
push eax
mov ecx, 0x1000f148
call fcn.10002730
mov eax, dword [0x1000f148]
cmp eax, ebx
je 0x10002ce1
push 0x1000c374
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
xor ecx, ecx
cmp esi, ebx
setne cl
inc ecx
mov dword [0x1000f1d4], ecx
mov dword [0x1000f1d0], esi
cmp dword [0x1000f1d4], 2
je 0x10002cf4
xor esi, esi
jmp 0x10002d26
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x238]
push edx
lea ecx, [ebp - 0x28]
push eax
lea edx, [ebp - 0x38]
push ecx
push edx
push edi
call dword [0x1000f1d0]
mov esi, eax
jmp 0x10002d26
push str.ChangePassword_end
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov ecx, dword [ebp - 0xc]
xor eax, eax
cmp esi, 1
pop edi
pop esi
mov dword fs:[0], ecx
sete al
pop ebx
mov esp, ebp
pop ebp
ret