Function at 0x423730
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, 0x88
mov rsi, rdx
mov rbx, rcx
xor edx, edx
mov rcx, rsi
call fcn.00429880
mov edi, dword [rsi + 0x38]
lea r8d, [rdi - 6]
mov ecx, edi
and r8d, 0xfffffffb
je 0x423920
cmp ecx, 0xa
je 0x4239b4
cmp ecx, 8
je 0x423a50
mov eax, dword [rbx + 0xd8]
test eax, eax
jle 0x42379c
cmp ecx, 3
jne 0x4239d0
cmp eax, 1
jne 0x4239d9
mov rcx, qword [rbx]
call fcn.0042a4c0
cmp byte [rbx + 0x40], 0
je 0x4237ac
cmp dword [rsi + 0x38], 6
je 0x423931
mov ecx, dword [rsi + 0x3c]
test ecx, ecx
je 0x423860
cmp dword [rbx + 0x7c], ecx
je 0x423860
mov rdx, qword [rbx + 0xb0]
call qword [rbx + 0xa8]
test eax, eax
je 0x42392d
mov r8d, dword [rbx + 0x58]
test r8d, r8d
jle 0x423c14
xor edx, edx
mov rcx, rsi
call fcn.00429880
mov ebp, dword [rbx + 0x58]
mov r13d, eax
sub ebp, 1
js 0x423c14
mov r12, qword [0x004e1d90]
jmp 0x423821
mov edx, dword [rdx + 4]
test edx, edx
je 0x423c10
cmp edx, dword [rsi + 0x3c]
je 0x423c10
sub ebp, 1
js 0x423c14
mov rdx, qword [rbx + 0x50]
movsxd rax, ebp
mov rcx, qword [r12]
lea rax, [rax + rax*2]
mov r8d, r13d
mov edx, dword [rdx + rax*4]
lea r14, [rax*4]
call fcn.00446850
test eax, eax
js 0x423818
mov rdx, r14
add rdx, qword [rbx + 0x50]
movsxd rax, dword [rdx + 8]
cmp eax, 0xf
jne 0x423804
mov ebp, dword [rdx + 4]
jmp 0x423818
movsxd rax, dword [rsi + 0x38]
cmp eax, 8
jne 0x423943
add dword [rbx + 0xd8], 1
add dword [rbx + rax*4 + 8], 1
lea rax, [rsi + 0x30]
mov rcx, qword [rbx]
mov rdx, rsi
mov qword [rsi + 0x30], 0
mov qword [rsi + 0x18], rax
call fcn.0042a600
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0x88]
mov rcx, qword [rbx]
call fcn.0042a3c0
cmp byte [rbx + 0x77], 0
jne 0x423a70
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0x98]
cmp byte [rbx + 0xdf], 0
jne 0x423b10
mov edx, dword [rsi + 0x38]
mov rcx, rbx
call fcn.00423180
mov rcx, qword [rbx + 0xe0]
mov qword [rsi + 0x30], 0
test rcx, rcx
je 0x4238fb
mov rdx, qword [rsi + 0x28]
cmp byte [rdx + 0x81], 0
je 0x423c03
sub dword [rbx + 0xd8], 1
mov eax, 1
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rbx + 0x81], 0
je 0x423a10
xor eax, eax
jmp 0x423907
mov ecx, dword [rsi + 0x3c]
mov dword [rsi + 0x38], 4
test ecx, ecx
jne 0x4237b7
xor edx, edx
mov rcx, rbx
call fcn.00423120
movsxd rax, dword [rsi + 0x38]
add dword [rbx + 0xd8], 1
cmp eax, 0xd
je 0x423980
cmp eax, 3
je 0x423980
cmp eax, 4
jne 0x423874
cmp edi, 6
jne 0x423874
add dword [rbx + 0x38], 1
jmp 0x423879
mov ecx, dword [rbx + 0x18]
test ecx, ecx
jle 0x423a40
cmp byte [rbx + 0x78], 0
je 0x423c45
mov r9, qword [rbx + 0xa0]
test r9, r9
je 0x423962
mov r8, qword [rsi + 8]
mov rdx, qword [rsi]
mov rcx, rbx
call r9
movsxd rax, dword [rsi + 0x38]
jmp 0x423962
cmp byte [rbx + 0x7a], 1
sbb edi, edi
and edi, 2
add edi, 4
mov dword [rsi + 0x38], edi
mov ecx, edi
jmp 0x423778
cmp ecx, 0xd
je 0x42378b
cmp eax, 2
jg 0x4239e6
mov rcx, qword [rbx]
call fcn.0042a4c0
call qword [sym.imp.msvcrt.dll___iob_func]
lea rdx, str.Internal_compiler_error:_Error_reporting_routines_re_entered._n
lea rcx, [rax + 0x60]
call fcn.004230f0
mov edx, 3
mov rcx, rbx
call fcn.00423180
call sub.msvcrt.dll_abort
nop
mov r12, qword [0x004e1d90]
mov edx, eax
mov rcx, qword [r12]
call fcn.00446490
test eax, eax
je 0x423a33
cmp byte [rbx + 0x82], 0
je 0x42392d
mov ecx, dword [rsi + 0x38]
jmp 0x423766
mov edx, dword [rbx + 0x1c]
test edx, edx
jg 0x42398b
jmp 0x423995
cmp byte [rbx + 0xdc], 0
jne 0x42392d
mov eax, dword [rbx + 0xd8]
test eax, eax
jle 0x42379c
jmp 0x4239d9
mov edx, dword [rsi + 0x3c]
mov r9d, dword [rsi + 0x38]
mov r8d, edi
mov rcx, rbx
call qword [rbx + 0xb8]
test rax, rax
mov rbp, rax
je 0x4238b2
mov rdi, qword [rbx]
lea rdx, [0x004d1360]
mov rcx, rdi
call fcn.0042a380
movsxd rdx, dword [rsi + 0x38]
lea rax, [0x004d16e0]
mov r12, qword [rax + rdx*8]
mov rcx, r12
call sub.msvcrt.dll_strlen
movzx ecx, byte [rdi + 0x43]
mov r8, rax
mov rdx, r12
call fcn.004249c0
mov rcx, rdi
mov rdx, rax
call fcn.0042a380
mov rdx, rbp
mov rcx, rdi
call fcn.0042a380
movzx ecx, byte [rdi + 0x43]
call fcn.00424a30
mov rcx, rdi
mov rdx, rax
call fcn.0042a380
mov rcx, rdi
mov edx, 0x5d
call fcn.00429e40
mov rcx, rbp
call fcn.00483488
jmp 0x4238b2
mov rdi, qword [rbx]
mov r15, qword [rsi + 0x28]
test rdi, rdi
je 0x423ca2
test r15, r15
je 0x423c8a
mov eax, dword [r15 + 0x58]
test eax, eax
je 0x423bf6
lea rax, [r15 + 0x58]
xor ebp, ebp
lea r14, [rsp + 0x60]
lea r13, [rsp + 0x40]
mov qword [rsp + 0x38], rax
jmp 0x423bd8
mov rcx, qword [r15 + 0x78]
lea rdx, [rcx + rdx*8 - 0x10]
mov r12, qword [rdx]
mov rcx, r13
add ebp, 1
mov edx, dword [r12]
call fcn.0042cb80
lea rdx, str.fix_it:
mov rcx, rdi
call fcn.0042a380
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
call fcn.004235e0
mov edx, dword [r12 + 4]
mov rcx, r14
call fcn.0042cb80
mov edx, dword [rsp + 0x6c]
mov r9d, dword [rsp + 0x4c]
mov rcx, rdi
mov r8d, dword [rsp + 0x48]
mov dword [rsp + 0x28], edx
mov edx, dword [rsp + 0x68]
mov dword [rsp + 0x20], edx
lea rdx, str.:_i:_i__i:_i:
call fcn.0042ba30
mov rdx, qword [r12 + 8]
mov rcx, rdi
call fcn.004235e0
mov rcx, rdi
call fcn.00429de0
cmp dword [r15 + 0x58], ebp
jbe 0x423bf3
cmp ebp, 1
movsxd rdx, ebp
jg 0x423b50
mov rax, qword [rsp + 0x38]
lea rdx, [rax + rdx*8 + 8]
jmp 0x423b59
mov rdi, qword [rbx]
mov rcx, rdi
call fcn.00429aa0
jmp 0x4238cb
call fcn.004281c0
jmp 0x4238fb
test eax, eax
jne 0x423c40
movsxd rdx, dword [rsi + 0x3c]
mov rax, qword [rbx + 0x48]
movsxd rax, dword [rax + rdx*4]
test eax, eax
jne 0x423c40
movsxd rax, dword [rsi + 0x38]
cmp eax, 1
jne 0x423864
xor eax, eax
jmp 0x423907
mov dword [rsi + 0x38], eax
jmp 0x423c28
mov rcx, rsi
xor edx, edx
call fcn.00429880
lea rcx, [rsp + 0x60]
mov edx, eax
call fcn.0042cb80
mov esi, dword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
call qword [sym.imp.msvcrt.dll___iob_func]
lea rdx, str._s:_d:_confused_by_earlier_errors__bailing_out_n
lea rcx, [rax + 0x60]
mov r9d, esi
mov r8, rbx
call fcn.004230f0
mov ecx, 4
call sub.msvcrt.dll_exit
lea r8, str.print_parseable_fixits
lea rcx, [0x004d1230]
mov edx, 0x30c
call fcn.00487f40
lea r8, str.print_parseable_fixits
lea rcx, [0x004d1230]
mov edx, 0x30b
call fcn.00487f40
nop
nop dword [rax + rax]