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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov rsi, qword [rsp + 0x100]
lea rax, str.procbody
mov r13, rcx
mov qword [rsp + 0xf0], r8
mov rdi, r9
mov qword [rsp + 0x80], 0
cmp qword [rsi + 0x18], rax
je 0x55e612
mov eax, dword [rsi]
mov rbp, rsi
cmp eax, 1
jle 0x55e12a
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x55e6ac
mov edx, dword [rsi + 0x10]
mov dword [rsp + 0x70], edx
call fcn.005649f0
mov rdx, rsi
mov rbp, rax
mov rcx, rax
call fcn.00550bc0
mov eax, dword [rbp]
add eax, 1
mov ecx, 0x38
xor r14d, r14d
mov dword [rbp], eax
call fcn.004df170
mov rbx, rax
mov qword [rax], r13
mov dword [rax + 8], 1
mov qword [rax + 0x18], rbp
mov dword [rax + 0x20], 0
mov dword [rax + 0x24], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov rdx, qword [rdi + 8]
test rdx, rdx
je 0x55e67d
mov eax, dword [rdi + 0x10]
mov dword [rsp + 0x70], eax
lea r9, [rsp + 0x80]
lea r8, [rsp + 0x74]
mov rcx, r13
call fcn.00573e60
test eax, eax
jne 0x55e3e0
test r14d, r14d
jne 0x55e437
mov r8d, dword [rsp + 0x74]
xor r12d, r12d
mov dword [rbx + 0x20], r8d
mov dword [rbx + 0x24], r8d
test r8d, r8d
jle 0x55e382
lea rax, [rsp + 0x88]
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x3c], 0
mov qword [rsp + 0x58], rbp
mov dword [rsp + 0x60], r14d
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x40]
mov rcx, r13
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
mov rdx, qword [rax + rdx]
call fcn.00573e60
test eax, eax
jne 0x55e7a1
mov edi, dword [rsp + 0x78]
cmp edi, 2
jg 0x55e71b
test edi, edi
je 0x55e767
mov rbp, qword [rsp + 0x88]
mov r14, qword [rbp]
mov rcx, rbp
movzx r15d, byte [r14]
test r15b, r15b
je 0x55e795
mov rcx, r14
call sub.msvcrt.dll_strlen
xor r8d, r8d
cmp edi, 2
mov rsi, rax
je 0x55e501
mov rcx, r14
jmp 0x55e28b
cmp r15b, 0x3a
movzx r15d, byte [rcx + 1]
je 0x55e4a0
add rcx, 1
test r15b, r15b
je 0x55e2b5
cmp r15b, 0x28
jne 0x55e273
mov rax, rcx
add rax, 1
cmp byte [rax], 0
jne 0x55e294
cmp byte [rax - 1], 0x29
je 0x55e5f0
movzx r15d, byte [rcx + 1]
add rcx, 1
test r15b, r15b
jne 0x55e28b
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x64], r8d
test eax, eax
je 0x55e51b
cmp dword [r12 + 8], esi
jne 0x55e3a1
lea r15, [r12 + 0x28]
mov rdx, r14
mov rcx, r15
call sub.msvcrt.dll_strcmp
test eax, eax
jne 0x55e3a1
mov esi, dword [r12 + 0xc]
cmp esi, dword [rsp + 0x3c]
jne 0x55e3a1
test byte [r12 + 0x11], 1
je 0x55e69b
mov rcx, qword [r12 + 0x18]
movsxd r8, dword [rsp + 0x64]
test rcx, rcx
je 0x55e692
cmp edi, 2
jne 0x55e69b
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x55e6f3
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x7c], eax
cmp r8d, eax
jne 0x55e7b0
mov rcx, qword [rbp + 8]
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x55e7b0
mov eax, dword [rsp + 0x74]
sub eax, 1
cmp esi, eax
je 0x55e62b
mov r12, qword [r12]
mov rcx, rbp
call fcn.004df2d0
add dword [rsp + 0x3c], 1
add qword [rsp + 0x40], 8
mov eax, dword [rsp + 0x3c]
cmp dword [rsp + 0x74], eax
jg 0x55e1fb
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0x80]
mov qword [rax], rbx
xor ebx, ebx
call fcn.004df2d0
jmp 0x55e483
mov rbp, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
mov edi, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0xf0]
lea rcx, str.procedure___s_:_formal_parameter__d_is_inconsistent_with_precompiled_body
mov r8d, edi
call fcn.00565840
mov rcx, r13
mov rdx, rax
call fcn.00561670
mov rcx, qword [rsp + 0x88]
call fcn.004df2d0
nop
test r14d, r14d
jne 0x55e468
mov eax, dword [rbp]
sub eax, 1
test eax, eax
mov dword [rbp], eax
jg 0x55e408
jmp 0x55e670
mov rcx, rsi
call fcn.004df2d0
mov rsi, qword [rbx + 0x28]
test rsi, rsi
je 0x55e4f4
mov rcx, qword [rsi + 0x18]
mov rax, qword [rsi]
test rcx, rcx
mov qword [rbx + 0x28], rax
je 0x55e400
mov eax, dword [rcx]
sub eax, 1
test eax, eax
mov dword [rcx], eax
jg 0x55e400
call fcn.00550fa0
jmp 0x55e400
mov r9d, dword [rbx + 0x20]
mov r8d, dword [rsp + 0x74]
cmp r9d, r8d
jge 0x55e512
mov rdx, qword [rsp + 0xf0]
lea rcx, str.procedure___s_:_arg_list_contains__d_entries__precompiled_header_expects__d
call fcn.00565840
mov rcx, r13
mov rdx, rax
call fcn.00561670
sub dword [rbx + 8], 1
mov rcx, qword [rsp + 0x80]
mov ebx, 1
test rcx, rcx
je 0x55e483
call fcn.004df2d0
mov eax, ebx
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp r15b, 0x3a
jne 0x55e282
mov rdi, r14
mov rbp, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
lea r9, str.__is_not_a_simple_name
mov qword [rsp + 0x20], 0
lea rdx, str.formal_parameter__
mov r8, rdi
mov rcx, r13
call fcn.00561a50
mov rcx, qword [rsp + 0x88]
call fcn.004df2d0
test r14d, r14d
je 0x55e3e9
jmp 0x55e468
mov rcx, rbx
call fcn.004df2d0
jmp 0x55e46c
mov rcx, qword [rbp + 8]
call sub.msvcrt.dll_strlen
mov r8d, eax
jmp 0x55e26e
mov r12, qword [rbx + 0x28]
jmp 0x55e1b6
lea ecx, [rsi + 0x2d]
call fcn.004df170
cmp qword [rbx + 0x28], 0
mov r12, rax
mov r8d, dword [rsp + 0x64]
je 0x55e6e6
mov rax, qword [rbx + 0x30]
mov qword [rax], r12
mov qword [rbx + 0x30], r12
cmp dword [rsp + 0x78], 2
mov eax, dword [rsp + 0x3c]
mov qword [r12], 0
mov dword [r12 + 8], esi
mov dword [r12 + 0x10], 0x100
mov qword [r12 + 0x20], 0
mov dword [r12 + 0xc], eax
je 0x55e6c5
mov qword [r12 + 0x18], 0
mov rbp, qword [rsp + 0x88]
lea r9, [r12 + 0x28]
lea r8d, [rsi + 1]
mov rcx, r9
movsxd r8, r8d
mov rdx, qword [rbp]
call sub.msvcrt.dll_memcpy
mov r9, rax
mov eax, dword [rsp + 0x74]
sub eax, 1
cmp eax, dword [rsp + 0x3c]
jne 0x55e361
cmp dword [r12 + 8], 4
jne 0x55e361
cmp byte [r12 + 0x28], 0x61
jne 0x55e361
lea rdi, str.args
mov rsi, r9
mov ecx, 5
repe cmpsb byte [rsi], byte [rdi]
jne 0x55e361
or dword [r12 + 0x10], 0x400
jmp 0x55e361
mov rdi, r14
mov rbp, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
mov qword [rsp + 0x20], 0
lea r9, str.__is_an_array_element
jmp 0x55e4c7
mov rbx, qword [rsi + 0x20]
mov rbp, rsi
mov r14d, 1
mov qword [rbx], rcx
add dword [rbx + 8], 1
jmp 0x55e16c
cmp dword [r12 + 8], 4
jne 0x55e35d
cmp byte [r12 + 0x28], 0x61
jne 0x55e35d
lea rdi, str.args
mov rsi, r15
mov ecx, 5
repe cmpsb byte [rsi], byte [rdi]
jne 0x55e35d
or dword [r12 + 0x10], 0x400
jmp 0x55e35d
mov rcx, rbp
call fcn.00550fa0
jmp 0x55e408
lea rdx, [rsp + 0x70]
mov rcx, rdi
call fcn.00551220
mov rdx, rax
jmp 0x55e180
cmp edi, 2
jne 0x55e34e
mov rbp, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
mov edi, esi
jmp 0x55e3af
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.00551220
mov edx, dword [rsp + 0x70]
mov rcx, rax
jmp 0x55e114
mov rax, qword [rsp + 0x88]
mov edx, r8d
mov rcx, qword [rax + 8]
call fcn.005649f0
mov qword [r12 + 0x18], rax
add dword [rax], 1
jmp 0x55e57d
mov qword [rbx + 0x30], rax
mov qword [rbx + 0x28], rax
jmp 0x55e541
mov rdx, qword [rsp + 0x68]
mov dword [rsp + 0x64], r8d
call fcn.00551220
mov rbp, qword [rsp + 0x88]
mov rdx, rax
movsxd r8, dword [rsp + 0x64]
mov eax, dword [rsp + 0x7c]
jmp 0x55e334
mov rcx, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
call fcn.004df2d0
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x80]
lea r9, [0x0065d92c]
mov rcx, r13
mov r8, qword [rax + rdx]
lea rdx, str.too_many_fields_in_argument_specifier__
mov qword [rsp + 0x20], 0
call fcn.00561a50
jmp 0x55e3e0
mov rbp, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
call fcn.004df2d0
lea rdx, str.argument_with_no_name
xor r8d, r8d
mov rcx, r13
call fcn.00561a50
jmp 0x55e3e0
mov rbp, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
jmp 0x55e779
mov rbp, qword [rsp + 0x58]
mov r14d, dword [rsp + 0x60]
jmp 0x55e3e0
mov r15, rbp
mov rdx, qword [rsp + 0xf0]
lea rcx, str.procedure___s_:_formal_parameter___s__has_default_value_inconsistent_with_precompiled_body
mov r8, qword [r15]
mov r14d, dword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
call fcn.00565840
jmp 0x55e3c6