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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x494
mov eax, dword [0x1010e2b0]
xor eax, esp
mov dword [esp + 0x490], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ebx, ecx
push edi
mov edi, dword [ebp + 0x10]
mov dword [esp + 0xc], edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], eax
test edi, edi
je 0x10073ee3
test edx, edx
je 0x1002be5a
test ebx, ebx
je 0x10073faf
mov ecx, dword [ebp + 0x14]
mov byte [esp + 0x1c], 0
test ecx, ecx
jne 0x10074027
cmp dword [0x1010fa10], ecx
jne 0x1002c16a
mov eax, dword [0x1010e050]
mov dword [esp + 0x14], eax
mov eax, dword [0x1010e054]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x30]
xor eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov eax, ecx
and eax, 2
mov dword [esp + 0x20], ebx
mov dword [esp + 0x38], eax
or eax, 0
mov dword [esp + 0x28], 0
jne 0x10074039
test ebx, ebx
je 0x10074039
mov byte [esp + 0x2c], al
xor ebx, ebx
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x4c], 0
lea eax, [esp + 0x20]
mov dword [esp + 0x48], ecx
mov ecx, dword [ebp + 0x18]
xor edx, edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov word [esp + 0x70], bx
mov dword [esp + 0x78], ebx
mov byte [esp + 0x7c], bl
mov dword [esp + 0x480], ebx
mov dword [esp + 0x484], ebx
mov dword [esp + 0x488], eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], ecx
inc edx
mov dword [esp + 0x490], edx
cmp edx, 2
je 0x1002c084
mov dword [esp + 0x78], 0
mov dword [esp + 0x5c], 0
mov cl, byte [edi]
mov byte [esp + 0x71], cl
test cl, cl
je 0x1002c013
inc edi
mov dword [esp + 0x50], edi
test ebx, ebx
js 0x1002c1d2
lea edx, [ecx - 0x20]
mov dword [esp + 0x3c], 0x1000bd78
cmp dl, 0x5a
ja 0x1002c139
movsx edx, cl
lfence
movzx esi, byte [edx + 0x1000bd58]
and esi, 0xf
mov edx, dword [esp + 0x5c]
lea edx, [edx + esi*8]
movzx edx, byte [esi + edx + 0x1000bd78]
shr edx, 4
mov dword [esp + 0x5c], edx
cmp edx, 8
je 0x1007412c
test edx, edx
jne 0x1002c032
mov edx, dword [esp + 0x48]
mov byte [esp + 0x7c], 0
movzx esi, cl
mov edx, dword [edx]
mov edx, dword [edx]
cmp word [edx + esi*2], 0
jl 0x1007406d
mov edx, dword [eax + 8]
cmp edx, dword [eax + 4]
je 0x1002c1de
inc ebx
mov dword [esp + 0x58], ebx
inc dword [eax + 8]
mov eax, dword [esp + 0x488]
mov eax, dword [eax]
mov byte [eax], cl
mov eax, dword [esp + 0x488]
inc dword [eax]
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x488]
mov cl, byte [edi]
mov byte [esp + 0x71], cl
test cl, cl
jne 0x1002bf54
mov edx, dword [esp + 0x490]
inc edi
mov dword [esp + 0x50], edi
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x1002bf25
cmp ecx, 7
je 0x1002bf25
jmp 0x1007412c
cmp edx, 7
ja case.default.0x1002c03b
jmp dword [edx*4 + 0x1002c1f4]
mov dword [esp + 0x64], 0
mov byte [esp + 0x70], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x6c], 0
mov byte [esp + 0x7c], 0
jmp 0x1002bffe
lea ecx, [esp + 0x40]
call fcn.1002eb10
test al, al
jne 0x1002bfef
jmp case.default.0x1002c03b
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x1002c0c5
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0xc]
and eax, 1
or eax, 0
jne 0x10074262
mov eax, dword [esp + 0x38]
or eax, 0
jne 0x10074296
test edx, edx
je 0x100742bb
mov eax, dword [esp + 0x28]
cmp eax, edx
je 0x1002c15b
mov byte [ecx + eax], 0
push dword [esp + 0x484]
call sym.ucrtbase.dll__free_base
add esp, 4
mov dword [esp + 0x484], 0
cmp byte [esp + 0x1c], 0
jne 0x1002c1c2
mov eax, ebx
mov ecx, dword [esp + 0x49c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1005cc20
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x40]
call fcn.1002ea3b
jmp 0x1002c077
lea ecx, [esp + 0x40]
call fcn.1002e9d1
jmp 0x1002c077
cmp cl, 0x2a
je 0x10074043
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x44]
call fcn.1002e7d1
jmp 0x1002c077
xor esi, esi
jmp 0x1002bf85
mov dword [esp + 0x68], 0
jmp 0x1002bffe
lea ecx, [esp + 0x40]
call fcn.1002ea0e
jmp 0x1002c077
mov ebx, 0xfffffffe
mov byte [edx + ecx - 1], 0
jmp 0x1002c0c5
call fcn.1005de8f
mov dword [esp + 0x10], eax
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0x48]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.100344a7
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x1c]
call fcn.1003e467
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov eax, dword [ecx + 0x350]
test al, 2
jne 0x1002be88
or eax, 2
mov dword [ecx + 0x350], eax
mov byte [esp + 0x1c], 1
jmp 0x1002be88
mov ecx, dword [esp + 0x10]
and dword [ecx + 0x350], 0xfffffffd
jmp 0x1002c0ea
mov edx, dword [esp + 0x490]
jmp 0x1002c018
cmp byte [eax + 0xc], 0
jne 0x100740a5
or ebx, 0xffffffff
mov dword [esp + 0x58], ebx
jmp 0x1002bffe
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x10073f11
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x10073f0b
cmp edi, 0xffffffff
jne 0x10073f58
jmp 0x10073f90
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x10073f90
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
test edi, edi
je 0x10073f7f
mov edx, edi
call fcn.10032a89
test eax, eax
je 0x10074014
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
test edi, edi
je 0x10073f90
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x10073f97
lea eax, [edi + 0x10]
jmp 0x10073f9c
xor edx, edx
call fcn.10032a89
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [eax], 0x16
call sym.ucrtbase.dll__invalid_parameter_noinfo
or eax, 0xffffffff
jmp 0x1002c0ec
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x10073fda
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x10073fd4
cmp edi, 0xffffffff
je 0x10073f90
jmp 0x10073f58
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x10073f90
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
test edi, edi
je 0x10073f7f
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x10073f47
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
jmp 0x10073f88
mov eax, dword [ecx]
mov dword [esp + 0x14], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x18], eax
jmp 0x1002be88
mov byte [esp + 0x2c], 1
jmp 0x1002bec4
mov ecx, dword [esp + 0x54]
add ecx, 4
mov dword [esp + 0x54], ecx
mov ecx, dword [ecx - 4]
mov dword [esp + 0x64], ecx
test ecx, ecx
jns 0x1002bffe
or dword [esp + 0x60], 4
neg ecx
mov dword [esp + 0x64], ecx
jmp 0x1002bffe
lea eax, [esp + 0x58]
push eax
push dword [esp + 0x75]
lea ecx, [esp + 0x490]
call fcn.1003a650
mov edi, dword [esp + 0x50]
mov cl, byte [edi]
inc edi
mov byte [esp + 0x71], cl
mov dword [esp + 0x50], edi
test cl, cl
je 0x100740af
mov eax, dword [esp + 0x488]
mov ebx, dword [esp + 0x58]
jmp 0x1002bfc7
inc ebx
mov dword [esp + 0x58], ebx
jmp 0x1002bffe
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x100740de
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100740d8
cmp edi, 0xffffffff
jne 0x10074184
jmp 0x10074115
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x10074115
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
test edi, edi
jne 0x10074158
xor edx, edx
call fcn.10032a89
push edi
call sym.ucrtbase.dll__free_base
add esp, 4
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [eax], 0x16
call sym.ucrtbase.dll__invalid_parameter_noinfo
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x100741b8
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100741b2
cmp edi, 0xffffffff
jne 0x1007420b
jmp 0x10074243
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x10074173
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
jmp 0x1007410d
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
test edi, edi
je 0x10074115
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x1007411c
lea eax, [edi + 0x10]
jmp 0x10074121
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x10074243
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
test edi, edi
je 0x10074232
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x100741fa
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
jmp 0x1007423b
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
test edi, edi
je 0x10074243
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x1007424a
lea eax, [edi + 0x10]
jmp 0x1007424f
xor edx, edx
call fcn.10032a89
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [eax], 0x16
call sym.ucrtbase.dll__invalid_parameter_noinfo
or ebx, 0xffffffff
jmp 0x1002c084
test edx, edx
jne 0x10074272
test ebx, ebx
je 0x10074272
or ebx, 0xffffffff
jmp 0x1002c0c5
mov eax, dword [esp + 0x28]
cmp eax, edx
jne 0x1002c0c1
test ebx, ebx
js 0x1002c0c5
cmp ebx, edx
jbe 0x1002c0c5
or ebx, 0xffffffff
jmp 0x1002c0c5
test edx, edx
je 0x1002c0c5
test ebx, ebx
jns 0x100742aa
mov byte [ecx], 0
jmp 0x1002c0c5
mov eax, dword [esp + 0x28]
cmp eax, edx
jne 0x1002c0c1
jmp 0x1002c160
or ebx, 0xffffffff
jmp 0x1002c0c5