Function at 0x1000a100
Capabilities:
Parse pe header

Disassembly:
sub esp, 0xc
push ebx
push ebp
mov ebp, dword [0x10047bc8]
xor ebx, ebx
xor eax, eax
cmp ebp, ebx
setne al
add word [0x10047bb6], ax
mov eax, dword [0x10047bc0]
push esi
push edi
push eax
push 0xfb59ffff
call fcn.10007780
mov ecx, dword [0x10047bc8]
mov word [0x10047bba], ax
push ecx
push 0xdf03ffff
call fcn.10007740
movsx edx, byte [0x10047ba4]
push 0x1af1ffff
push edx
mov dword [0x10047be4], eax
mov dword [esp + 0x28], ebx
call fcn.100075f0
movsx edx, word [0x10047bb4]
mov al, byte [0x10047ba8]
mov ecx, dword [0x10047bd8]
dec al
push ecx
push edx
mov byte [0x10047ba0], al
call fcn.10007830
add word [0x10047baa], ax
push 0x21e7ffff
movsx eax, byte [0x10047ba1]
push eax
call fcn.10007780
movsx ecx, word [0x10047bb2]
push ecx
push 0x3525ffff
mov word [0x10047bba], ax
call fcn.10007880
push 0x12
mov dword [0x10047bdc], eax
call fcn.100099d0
add esp, 0x34
call eax
and eax, 0xc0000000
cmp eax, 0x80000000
jne 0x1000a1de
mov edx, dword [esp + 0x20]
push edx
call fcn.10009c50
add esp, 4
mov ebp, eax
jmp 0x1000a1e2
mov ebp, dword [esp + 0x20]
mov eax, dword [0x10047bd8]
push eax
push 0xe697ffff
call fcn.10007740
movsx ecx, word [0x10047bba]
push ecx
push 0x2f71ffff
mov byte [0x10047ba0], al
call fcn.10007650
add word [0x10047bae], ax
add esp, 0x10
push 0x40
push ebp
push 0x18
call fcn.100099d0
add esp, 4
call eax
test eax, eax
je 0x1000a232
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret 8
mov eax, dword [0x10047bcc]
mov edi, dword [0x10047bc4]
add eax, 0x387c0000
xor edx, edx
cmp edi, ebx
push 0xd7ebffff
setne dl
push 0x9015ffff
mov dword [0x10047bcc], eax
mov word [0x10047bbc], dx
call fcn.100076b0
add esp, 8
mov dword [0x10047bd8], eax
cmp word [ebp], 0x5a4d
je 0x1000a280
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret 8
push 0xffffffffffffffff
call dword [sym.imp.USER32.dll_IsCharAlphaNumericA]
push 0x95cdffff
push 0x7333ffff
mov word [0x10047bbc], ax
call fcn.10007740
mov cl, byte [0x10047ba3]
mov dl, byte [0x10047bd0]
add cl, al
add esp, 8
mov byte [0x10047ba3], cl
mov esi, dword [ebp + 0x3c]
add esi, ebp
or al, 0xff
push pe_nt_image_headers32
sub al, dl
push esi
push 0x18
mov byte [0x10047ba3], al
call fcn.100099d0
add esp, 4
call eax
test eax, eax
je 0x1000a2e4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret 8
movsx ecx, word [0x10047bb6]
push ecx
push 0x962dffff
call fcn.100078b0
movsx dx, byte [0x10047ba8]
mov ecx, dword [0x10047bc8]
or dx, word [0x10047bb0]
add ecx, eax
add esp, 8
add word [0x10047bb2], dx
mov dword [0x10047bc8], ecx
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [0x10047bc4], eax
mov eax, dword [esi]
cmp eax, 0x4550
je 0x1000a33d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc
ret 8
push 0xe363ffff
push 0x2cfdffff
call fcn.100078b0
mov dl, byte [0x10047ba7]
mov ecx, dword [0x10047bc0]
add dl, al
mov eax, dword [0x10047bd0]
push eax
push ecx
mov byte [0x10047ba7], dl
call fcn.100078b0
movsx edx, byte [0x10047ba2]
mov byte [0x10047ba7], al
mov edi, dword [esi + 0x78]
push 0x43b7ffff
push edx
add edi, ebp
call fcn.100076b0
mov byte [0x10047ba6], al
mov eax, dword [0x10047bc0]
push 0x7357ffff
push eax
call fcn.10007830
mov cl, byte [0x10047ba1]
movsx edx, byte [0x10047ba8]
add cl, al
mov byte [0x10047ba1], cl
movsx ecx, byte [0x10047ba6]
push ecx
push edx
call fcn.10007740
mov edx, dword [0x10047bc0]
mov byte [0x10047ba1], al
movsx ax, al
and eax, edx
mov dl, byte [0x10047ba3]
mov dword [0x10047bcc], 1
mov word [0x10047bb8], ax
mov eax, dword [edi + 0x1c]
mov esi, dword [edi + 0x20]
mov cl, byte [0x10047ba2]
add eax, ebp
mov dword [esp + 0x40], eax
add esp, 0x28
add esi, ebp
xor eax, eax
test dl, dl
setne al
add cl, al
mov eax, dword [0x10047bd4]
test eax, eax
mov byte [0x10047ba2], cl
jne 0x1000a424
cmp word [0x10047bb0], 0
jne 0x1000a424
xor eax, eax
jmp 0x1000a429
mov eax, 1
mov cl, byte [0x10047bb6]
mov dl, byte [0x10047bd0]
add word [0x10047bac], ax
mov al, byte [0x10047ba6]
sub cl, dl
push 0x1dcbffff
movsx edx, byte [0x10047ba8]
add al, cl
push edx
mov byte [0x10047ba6], al
mov eax, dword [edi + 0x24]
add eax, ebp
mov dword [esp + 0x1c], eax
call fcn.100076b0
mov cl, byte [0x10047ba8]
push 0xcebfffff
add cl, al
movsx eax, word [0x10047bba]
push eax
mov byte [0x10047ba8], cl
call fcn.100076b0
mov byte [0x10047ba1], al
mov eax, dword [edi + 0x18]
add esp, 0x10
test eax, eax
jbe 0x1000a55c
mov dword [esp + 0x20], esi
mov cl, byte [0x10047bd0]
push ecx
call dword [sym.imp.USER32.dll_IsCharAlphaA]
mov cl, byte [0x10047ba9]
add cl, al
mov eax, dword [0x10047bd8]
test eax, eax
mov byte [0x10047ba9], cl
jne 0x1000a4cd
mov eax, dword [0x10047be4]
test eax, eax
jne 0x1000a4cd
xor eax, eax
jmp 0x1000a4d2
mov eax, 1
mov dl, byte [0x10047ba0]
mov esi, dword [esp + 0x24]
add dl, al
mov byte [0x10047ba0], dl
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
add eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1000a510
test cl, cl
je 0x1000a50c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1000a510
add eax, 2
add esi, 2
test cl, cl
jne 0x1000a4ec
xor eax, eax
jmp 0x1000a515
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x1000a56a
movsx eax, word [0x10047bb8]
mov ecx, dword [0x10047bdc]
or eax, 0x477ffff
push ecx
mov dword [0x10047be0], eax
mov word [0x10047bb4], 0xfffe
call dword [sym.imp.KERNEL32.dll_IsBadCodePtr]
mov dword [0x10047bdc], eax
mov eax, dword [edi + 0x18]
mov ecx, dword [esp + 0x20]
inc ebx
add ecx, 4
cmp ebx, eax
mov dword [esp + 0x20], ecx
jb 0x1000a49c
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret 8
movsx edx, word [0x10047bac]
mov esi, dword [0x10047bc0]
mov ecx, dword [esp + 0x14]
and edx, 0x787ffff
xor eax, eax
add esi, edx
mov edx, dword [esp + 0x18]
mov dword [0x10047be4], 1
mov dword [0x10047bc0], esi
mov ax, word [ecx + ebx*2]
pop edi
pop esi
mov eax, dword [edx + eax*4]
add eax, ebp
pop ebp
pop ebx
add esp, 0xc
ret 8