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

Disassembly:
sub esp, 0x50
mov eax, dword [0xa0b130]
xor eax, esp
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x64]
mov edx, ecx
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x60]
mov dword [esp + 0x28], esi
push edi
test eax, eax
je 0x83b9f1
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x70]
mov cl, byte [eax + ecx*8 - 3]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x12], cl
jmp 0x83b9f6
mov byte [esp + 0x12], 0
cmp byte [edx + 0x1dc], 0
je 0x83ba03
test eax, eax
je 0x83ba52
cmp eax, dword [esp + 0x7c]
je 0x83ba52
sub esp, 8
mov word [esp + 0x44], 0x103
mov eax, esp
mov dword [esp + 0x3c], str.Wrong_number_of_arguments
mov ecx, edx
mov dword [eax], 0
mov dword [eax + 4], 0
lea eax, [esp + 0x3c]
push eax
push dword [esp + 0x90]
call fcn.00408f35
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x4c]
xor ecx, esp
call fcn.004087b5
add esp, 0x50
ret 0x24
cmp dword [esp + 0x6c], 0
je 0x83bf6f
mov dword [esp + 0x40], 0
mov ebx, dword [esp + 0x6c]
xor edi, edi
mov ebp, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isdigit]
mov dword [esp + 0x14], edi
test ebx, ebx
je 0x83badb
mov esi, dword [esp + 0x18]
nop dword [eax]
cmp byte [edx + 0x1dc], 0
je 0x83babd
test esi, esi
jne 0x83babd
mov ecx, dword [esp + 0x68]
cmp byte [ecx + edi], 0x24
jne 0x83bace
lea eax, [edi + 1]
cmp eax, ebx
je 0x83bace
mov al, byte [ecx + edi + 1]
cmp al, 0x24
je 0x83bad3
cmp al, 0x6e
je 0x83bad3
movzx eax, al
push eax
call ebp
add esp, 4
test eax, eax
jne 0x83bad3
mov edx, dword [esp + 0x1c]
jmp 0x83bace
mov eax, dword [esp + 0x68]
cmp byte [eax + edi], 0x5c
jne 0x83bace
lea eax, [edi + 1]
cmp eax, ebx
jne 0x83bad3
inc edi
cmp edi, ebx
jne 0x83ba80
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x14], edi
test edi, edi
mov dword [esp + 0x20], edi
lea eax, [esp + 0x40]
lea edx, [esp + 0x20]
cmove edx, eax
lea ecx, [esp + 0x6c]
mov eax, dword [esp + 0x6c]
cmp eax, dword [edx]
mov eax, dword [esi + 8]
cmovae ecx, edx
mov ebp, dword [ecx]
mov ecx, dword [esi + 0xc]
sub eax, ecx
cmp ebp, eax
jbe 0x83bb16
mov eax, dword [esp + 0x68]
mov ecx, esi
push ebp
push eax
call fcn.0041214d
jmp 0x83bb2c
test ebp, ebp
je 0x83bb2c
mov eax, dword [esp + 0x68]
push ebp
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [esi + 0xc], ebp
cmp edi, ebx
je 0x83bf6f
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x1dc], 0
je 0x83bc10
cmp dword [esp + 0x18], 0
jne 0x83bc10
mov eax, dword [esp + 0x68]
mov cl, byte [eax + edi + 1]
mov al, cl
cmp al, 0x24
je 0x83bbe9
cmp al, 0x6e
je 0x83bbd6
movsx eax, cl
sub eax, 0x30
cmp eax, dword [esp + 0x7c]
jae 0x83bc08
lea ecx, [eax + eax*2]
mov eax, dword [esp + 0x78]
mov edx, dword [eax + ecx*4 + 4]
mov ebp, dword [eax + ecx*4]
mov dword [esp + 0x20], edx
cmp ebp, edx
je 0x83bc08
mov edi, edx
nop
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub eax, edx
mov ebx, dword [ebp + 8]
mov ecx, dword [ebp + 4]
mov dword [esp + 0x38], ebx
cmp ebx, eax
jbe 0x83bbb1
push ebx
push ecx
mov ecx, esi
call fcn.0041214d
jmp 0x83bbc3
test ebx, ebx
je 0x83bbc3
push ebx
push ecx
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [esi + 0xc], ebx
add ebp, 0x20
cmp ebp, edi
jne 0x83bb90
mov edi, dword [esp + 0x14]
add edi, 2
jmp 0x83bf3a
push dword [esp + 0x7c]
mov ecx, esi
call fcn.004046f6
add edi, 2
jmp 0x83bf3a
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x83bc02
push 0x24
mov ecx, esi
call fcn.0040c4b4
add edi, 2
jmp 0x83bf3a
mov byte [eax], 0x24
inc dword [esi + 0xc]
add edi, 2
jmp 0x83bf3a
cmp byte [esp + 0x80], 0
lea ecx, [edi + 1]
mov dword [esp + 0x14], ecx
je 0x83bc38
mov eax, dword [esp + 0x68]
cmp byte [eax + ecx], 0x40
jne 0x83bc38
lea eax, [ecx + 1]
cmp eax, ebx
je 0x83bc38
mov dword [esp + 0x14], eax
jmp 0x83bc89
mov eax, dword [esp + 0x68]
mov al, byte [eax + ecx]
mov byte [esp + 0x28], al
push dword [esp + 0x28]
call fcn.0083f4a0
add esp, 4
test al, al
je 0x83bc89
mov esi, dword [esp + 0x14]
lea ebp, [esi + 1]
nop word [eax + eax]
cmp ebp, ebx
je 0x83bc81
mov eax, dword [esp + 0x68]
inc esi
inc ebp
mov al, byte [eax + esi]
mov byte [esp + 0x28], al
push dword [esp + 0x28]
call fcn.0083f4a0
add esp, 4
test al, al
jne 0x83bc60
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x68]
xor ebp, ebp
mov ebx, dword [esp + 0x14]
add eax, edi
sub ebx, edi
mov dword [esp + 0x34], eax
inc eax
dec ebx
mov dword [esp + 0x20], eax
cmp ebx, 1
jne 0x83bcd2
push ebx
push 0x92d314
push eax
call fcn.004031ed
add esp, 0xc
test eax, eax
jne 0x83bcd2
mov eax, dword [esp + 0x1c]
mov ecx, esi
push dword [eax + 0x100]
call fcn.004046f6
add edi, 2
jmp 0x83bf3a
mov edx, dword [esp + 0x18]
test edx, edx
je 0x83bd14
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x30], eax
mov ecx, dword [eax]
cmp dword [eax + 4], ebx
jne 0x83bd04
push ebx
push esi
push ecx
call fcn.004031ed
mov edx, dword [esp + 0x24]
add esp, 0xc
test eax, eax
je 0x83bd10
mov eax, dword [esp + 0x30]
inc ebp
add eax, 0x18
mov dword [esp + 0x30], eax
cmp ebp, edx
jb 0x83bce6
mov esi, dword [esp + 0x2c]
cmp ebp, edx
jne 0x83bd86
mov ebp, dword [esp + 0x20]
cmp byte [ebp], 0x28
jne 0x83bd34
mov eax, dword [esp + 0x34]
cmp byte [eax + 2], 0x29
jne 0x83bd34
add edi, 3
jmp 0x83bf3a
mov eax, dword [esi + 0xc]
cmp eax, dword [esi + 8]
jb 0x83bd49
push 0x5c
mov ecx, esi
call fcn.0040c4b4
mov edi, eax
jmp 0x83bd51
mov byte [eax], 0x5c
mov edi, esi
inc dword [esi + 0xc]
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xc]
sub eax, ecx
cmp ebx, eax
jbe 0x83bd6b
push ebx
push ebp
mov ecx, edi
call fcn.0041214d
jmp 0x83bf36
test ebx, ebx
je 0x83bf36
push ebx
push ebp
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [edi + 0xc], ebx
jmp 0x83bf36
cmp byte [esp + 0x12], 0
je 0x83bd98
lea eax, [edx - 1]
cmp ebp, eax
jne 0x83bd98
mov dl, 1
jmp 0x83bd9a
xor dl, dl
mov eax, dword [esp + 0x78]
lea ecx, [ebp*2]
add ecx, ebp
mov byte [esp + 0x13], dl
mov ebp, dword [eax + ecx*4]
mov eax, dword [eax + ecx*4 + 4]
mov dword [esp + 0x34], eax
cmp ebp, eax
je 0x83bf36
lea ebx, [ebp + 8]
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x1df], 0
je 0x83be9a
mov eax, dword [ebx - 4]
mov al, byte [eax]
cmp al, 0x25
jne 0x83be03
cmp dword [ebp], 4
jne 0x83be9a
cmp dword [ebx + 0x10], 0x40
lea ecx, [ebx + 8]
jbe 0x83bdf0
mov ecx, dword [ecx]
mov eax, dword [ecx + 4]
push eax
mov eax, dword [ecx]
mov ecx, esi
push eax
call fcn.004112ac
jmp 0x83bf22
cmp al, 0x3c
jne 0x83be9a
cmp dword [ebp], 3
jne 0x83bef0
mov edi, dword [ebx]
mov edx, 1
cmp edi, edx
cmovb edx, edi
lea eax, [edi - 1]
mov ecx, edx
cmp edx, eax
cmovb ecx, eax
mov eax, dword [ebx - 4]
add eax, edx
cmp edi, ecx
cmovb ecx, edi
sub ecx, edx
push ecx
push eax
lea eax, [esp + 0x4c]
push eax
call fcn.0083aad0
add esp, 0xc
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x83be50
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, esi
call fcn.0041214d
mov edx, dword [esp + 0x58]
cmp edx, 0x10
jb 0x83bf22
mov ecx, dword [esp + 0x44]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x83be8b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x83bf69
push edx
push ecx
call fcn.004036ca
add esp, 8
jmp 0x83bf22
cmp dword [ebp], 3
jne 0x83bef0
test dl, dl
jne 0x83bef0
mov edx, dword [ebx]
mov ecx, 1
cmp edx, ecx
cmovb ecx, edx
lea eax, [edx - 1]
mov edi, ecx
cmp ecx, eax
cmovb edi, eax
mov eax, dword [ebx - 4]
add eax, ecx
cmp edx, edi
mov dword [esp + 0x20], eax
mov eax, dword [esi + 8]
cmovb edi, edx
sub edi, ecx
mov ecx, dword [esi + 0xc]
sub eax, ecx
cmp edi, eax
jbe 0x83bee4
push edi
push dword [esp + 0x24]
mov ecx, esi
call fcn.0041214d
jmp 0x83bf22
test edi, edi
je 0x83bf22
push edi
push dword [esp + 0x24]
push ecx
jmp 0x83bf17
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
sub eax, edx
mov edi, dword [ebx]
mov ecx, dword [ebx - 4]
mov dword [esp + 0x24], edi
cmp edi, eax
jbe 0x83bf10
push edi
push ecx
mov ecx, esi
call fcn.0041214d
jmp 0x83bf22
test edi, edi
je 0x83bf22
push edi
push ecx
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [esi + 0xc], edi
mov dl, byte [esp + 0x13]
add ebp, 0x20
add ebx, 0x20
cmp ebp, dword [esp + 0x34]
jne 0x83bdc1
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x6c]
cmp edx, edi
mov eax, dword [esp + 0x68]
cmovb edi, edx
or ecx, 0xffffffff
sub edx, edi
add eax, edi
cmp edx, 0xffffffff
mov dword [esp + 0x68], eax
cmovb ecx, edx
mov dword [esp + 0x6c], ecx
test ecx, ecx
je 0x83bf6f
mov edx, dword [esp + 0x1c]
jmp 0x83ba65
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov ecx, dword [esp + 0x5c]
xor al, al
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004087b5
add esp, 0x50
ret 0x24