Function at 0x1002a813
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1005ccd8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x118
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x10], esi
push edi
test dl, dl
je 0x1002ae4f
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x1002ae44
lea eax, [esp + 0x70]
xor ebx, ebx
push eax
push 0x1000
lea ecx, [esp + 0x54]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
call fcn.1002bc24
mov dword [esp + 0x12c], ebx
mov edi, 0xf205
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x4c]
push dword [esp + 0x4c]
sar eax, 1
push eax
push edi
push 0xde45
call fcn.1002451d
pop ecx
pop ecx
call eax
push dword [esp + 0x4c]
lea ecx, [esp + 0x78]
call fcn.100031f9
push 0xca85
mov byte [esp + 0x130], 1
call fcn.10037b0f
push ecx
push 0x3a6b
movzx eax, ax
mov dl, 1
push 0x6275
mov dword [esp + 0x20], eax
lea eax, [esp + 0x84]
push eax
push ecx
push ecx
push 0x38f8
lea ecx, [esp + 0x30]
call fcn.10029764
add esp, 0x1c
lea ecx, [esp + 0x10c]
mov edx, 0x84a
call fcn.10005c6b
push ecx
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0x138], 2
call fcn.100058f5
push ebx
push 1
lea ecx, [esp + 0x110]
mov byte [esp + 0x134], 1
call fcn.10003acb
cmp dword [esp + 0x88], 8
lea eax, [esp + 0x74]
push ebx
cmovae eax, dword [esp + 0x78]
push eax
push edi
push 0xa7f5
call fcn.1002451d
pop ecx
pop ecx
call eax
push 0x5f65
push 0x2c07
push 0x4d8d
push 0x2a37
lea eax, [esp + 0x20]
push eax
push 0x75b2
push 0x7a45
push 0x248c
push 1
push 0x2872
lea eax, [esp + 0x9c]
mov dl, 1
push eax
push 1
push 0xc39
push 0x53c8
push 0x51d
push 0x7120
push 0x215a
push 0x6f80
mov ecx, 0xf94
call fcn.1002990d
add esp, 0x44
mov dword [esp + 0x4c], ebx
lea eax, [esp + 0x4c]
mov dl, 1
push eax
push esi
push ecx
push 0xdbc
mov ecx, 0x709d
call fcn.1002a76b
add esp, 0x14
mov byte [esp + 0xf], bl
mov dword [esp + 0x10], ebx
mov dword [esp + 0x34], 0xc6040300
mov dword [esp + 0x38], 0x282c653
mov dword [esp + 0x3c], 0x31d0156
mov byte [esp + 0x40], bl
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x90]
call fcn.100031d1
push 0x10
pop edx
lea ecx, [esp + 0xf0]
mov byte [esp + 0x12c], 3
call fcn.100389d0
push 0x13aa
lea eax, [esp + 0x90]
mov byte [esp + 0x130], 4
push eax
push 0x3904
push 0x2e77
push 0x312b
lea eax, [esp + 0x104]
mov dl, 1
push ebx
push eax
mov cl, dl
call fcn.1002aec1
add esp, 0x1c
mov ecx, ebx
mov dword [esp + 0x44], ecx
push 0x2e
pop eax
push 2
mov word [esp + 0x68], ax
pop esi
cmp esi, 2
jne 0x1002aa78
push 5
pop ecx
push ecx
mov dword [esp + 0x48], ecx
pop esi
jmp 0x1002aac5
movzx edx, byte [esp + esi + 0x35]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x32]
movzx ecx, word [esp + eax*2 + 0x64]
mov eax, ecx
and eax, edx
add eax, eax
sub ecx, eax
movzx eax, byte [esp + esi + 0x34]
add ecx, edx
mov edx, 0x2fe2
mov word [esp + eax*2 + 0x64], cx
lea eax, [esp + 0x44]
push eax
push 1
push 1
push 0x78df
push 1
mov ecx, 0x7de0
call fcn.1002a417
mov ecx, dword [esp + 0x58]
add esp, 0x14
add esi, 2
cmp esi, 0xd
jb 0x1002aa68
xor eax, eax
mov dword [esp + 0xd0], 7
mov word [esp + 0x6c], ax
lea ecx, [esp + 0xbc]
mov word [esp + 0xbc], ax
lea eax, [esp + 0x64]
push eax
mov dword [esp + 0xd0], ebx
call fcn.100036ac
push ecx
push ecx
lea eax, [esp + 0xc4]
mov byte [esp + 0x134], 5
push eax
lea ecx, [esp + 0x98]
call fcn.100058f5
push ebx
push 1
lea ecx, [esp + 0xc4]
mov byte [esp + 0x134], 4
call fcn.10003acb
xor eax, eax
lea edi, [esp + 0x64]
cmp dword [esp + 0xa0], 8
stosd dword es:[edi], eax
push ebx
push 0x80
push 2
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [esp + 0xa4]
cmovae eax, dword [esp + 0xa4]
mov edi, 0xf205
push eax
push edi
push 0x9e15
call fcn.1002451d
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x1002abbe
push ebx
lea eax, [esp + 0xf0]
push eax
push dword [esp + 0x50]
mov eax, dword [esp + 0x20]
push dword [eax]
push esi
push edi
push 0xf6f5
call fcn.1002451d
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0x8f45
setne bl
call fcn.1002451d
pop ecx
pop ecx
call eax
test bl, bl
jne 0x1002ac1c
xor ebx, ebx
push ebx
push 1
lea ecx, [esp + 0xf8]
call fcn.10003acb
push ebx
push 1
lea ecx, [esp + 0x94]
mov byte [esp + 0x134], 1
call fcn.10003acb
mov edi, dword [esp + 0x10]
inc edi
mov dword [esp + 0x10], edi
cmp edi, 0x12c
jb 0x1002a9f6
mov eax, dword [ebp + 0x18]
mov dword [eax], 2
push ebx
push 1
lea ecx, [esp + 0x7c]
call fcn.10003acb
lea ecx, [esp + 0x4c]
call fcn.1002bcb5
jmp 0x1002ae64
push 0x22
pop edi
xor ebx, ebx
mov dword [esp + 0x1c], 0x9503e000
push 2
mov word [esp + 0x24], 0x3887
mov ecx, ebx
mov word [esp + 0x1c], di
pop esi
cmp esi, 2
jne 0x1002ac46
push 4
pop ecx
push ecx
pop esi
jmp 0x1002ac6d
movzx edx, byte [esp + esi + 0x1d]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x1a]
movzx eax, word [esp + eax*2 + 0x18]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [esp + esi + 0x1c]
mov word [esp + eax*2 + 0x18], cx
mov ecx, ebx
add esi, 2
cmp esi, 6
jb 0x1002ac3a
xor eax, eax
mov dword [esp + 0xb8], 7
mov word [esp + 0x1a], ax
lea ecx, [esp + 0xa4]
mov word [esp + 0xa4], ax
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0xb8], ebx
call fcn.100036ac
push 0x470
push 1
push 0x757b
push 0x45bf
push 0x669d
push 0x6dca
push 0x6581
push 1
push 0x472e
mov byte [esp + 0x150], 6
lea edx, [esp + 0xc8]
push 1
lea ecx, [esp + 0xb4]
mov dword [esp + 0x40], ebx
call fcn.1002a509
add esp, 0x28
mov dword [esp + 0x24], 0x52048900
mov ecx, ebx
mov dword [esp + 0x28], 0x2a563b2
mov dword [esp + 0x2c], 0x30f010d
mov byte [esp + 0x30], 0x73
push 2
mov word [esp + 0x5c], di
pop esi
mov dword [esp + 0x14], ecx
cmp esi, 2
jne 0x1002ad2d
push 5
pop ecx
push ecx
mov dword [esp + 0x18], ecx
pop esi
jmp 0x1002ad6d
movzx edx, byte [esp + esi + 0x25]
mov eax, esi
sub eax, ecx
movzx eax, byte [esp + eax + 0x22]
movzx eax, word [esp + eax*2 + 0x58]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [esp + esi + 0x24]
push ecx
push 0x542b
mov word [esp + eax*2 + 0x60], cx
lea eax, [esp + 0x1c]
push eax
push ecx
push ecx
xor cl, cl
call fcn.1002b041
mov ecx, dword [esp + 0x28]
add esp, 0x14
add esi, 2
cmp esi, 0xd
jb 0x1002ad1d
xor eax, eax
mov dword [esp + 0xe8], 7
mov word [esp + 0x60], ax
lea ecx, [esp + 0xd4]
mov word [esp + 0xd4], ax
lea eax, [esp + 0x58]
push eax
mov dword [esp + 0xe8], ebx
call fcn.100036ac
push ecx
push ecx
lea eax, [esp + 0xdc]
mov byte [esp + 0x134], 7
push eax
lea ecx, [esp + 0xb0]
call fcn.100058f5
push ebx
push 1
lea ecx, [esp + 0xdc]
mov byte [esp + 0x134], 6
call fcn.10003acb
xor eax, eax
lea edi, [esp + 0x58]
stosd dword es:[edi], eax
push ecx
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [esp + 0x13]
push eax
push 0x46bd
push ecx
push ecx
mov cl, 1
call fcn.1002b041
add esp, 0x14
lea edx, [esp + 0x74]
lea ecx, [esp + 0xa4]
call fcn.10028bf9
mov ecx, dword [ebp + 0x18]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [esp + 0xac]
call fcn.10003acb
push ebx
push 1
lea ecx, [esp + 0xf8]
call fcn.10003acb
push ebx
push 1
lea ecx, [esp + 0x94]
call fcn.10003acb
jmp 0x1002ac02
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
jmp 0x1002ae64
mov eax, dword [ebp + 0x14]
cmp byte [eax], 0
je 0x1002ae64
push 1
xor eax, eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
mov ecx, dword [esp + 0x124]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret