Function at 0x406250
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.0040df20
mov edi, dword [rsi + 0x40]
cmp edi, 0xb
je 0x4063f0
cmp edi, 6
mov ecx, edi
je 0x4063f0
cmp ecx, 0xb
je 0x40643a
cmp ecx, 8
jne 0x4065f0
cmp byte [rbx + 0x108], 0
jne 0x4063f9
mov eax, dword [rbx + 0x100]
test eax, eax
jg 0x4069b7
cmp byte [rbx + 0x44], 0
mov ecx, dword [rsi + 0x44]
je 0x4062ca
cmp dword [rsi + 0x40], 6
je 0x406460
test ecx, ecx
jne 0x406470
mov edx, dword [rsi + 0x40]
cmp edx, 8
jne 0x406545
add dword [rbx + 0x100], 1
movsxd rax, dword [rsi + 0x40]
cmp eax, 3
je 0x406565
cmp eax, 0xe
je 0x406565
cmp edi, 6
jne 0x406309
cmp eax, 4
je 0x406912
add dword [rbx + rax*4 + 8], 1
mov eax, dword [rbx + 0x124]
test eax, eax
je 0x406525
add eax, 1
mov rdx, rsi
mov dword [rbx + 0x124], eax
lea rax, [rsi + 0x38]
mov qword [rsi + 0x38], 0
mov qword [rsi + 0x18], rax
mov rcx, qword [rbx]
call fcn.0040efe0
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0x98]
mov rcx, qword [rbx]
call fcn.0040eba0
cmp byte [rbx + 0x7f], 0
jne 0x406820
cmp byte [rbx + 0x85], 0
jne 0x406730
mov r8d, edi
mov rdx, rsi
mov rcx, rbx
call qword [rbx + 0xa8]
cmp byte [rbx + 0x111], 0
jne 0x406622
mov edx, dword [rsi + 0x40]
mov rcx, rbx
call fcn.004060d0
mov qword [rsi + 0x38], 0
mov rcx, qword [rbx + 0x118]
test rcx, rcx
je 0x4063b7
mov rdx, qword [rsi + 0x28]
cmp byte [rdx + 0xa1], 0
je 0x4065b0
sub dword [rbx + 0x100], 1
mov rax, qword [rsi + 0x28]
mov rdx, qword [rax + 0xa8]
mov eax, 1
test rdx, rdx
je 0x4063fb
mov r8, qword [rbx + 0xd8]
test r8, r8
je 0x4063fb
mov byte [rsp + 0x30], al
mov rcx, rbx
call r8
movzx eax, byte [rsp + 0x30]
jmp 0x4063fb
cmp byte [rbx + 0x91], 0
je 0x406410
xor eax, eax
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r14, qword [0x00482000]
mov edx, eax
mov rcx, qword [r14]
call fcn.0042dc10
test eax, eax
je 0x40642e
cmp byte [rbx + 0x92], 0
je 0x4063f9
mov ecx, dword [rsi + 0x40]
cmp ecx, 0xb
jne 0x406293
cmp byte [rbx + 0x88], 0
je 0x406554
mov dword [rsi + 0x40], 4
mov edi, 4
jmp 0x4062a9
test ecx, ecx
mov dword [rsi + 0x40], 4
je 0x406545
nop
cmp dword [rbx + 0x8c], ecx
je 0x4062d2
mov edx, dword [rbx + 0x104]
mov r8, qword [rbx + 0xc0]
call qword [rbx + 0xb8]
test eax, eax
je 0x4063f9
mov r11d, dword [rbx + 0x60]
test r11d, r11d
jle 0x4065c4
xor edx, edx
mov rcx, rsi
call fcn.0040df20
mov ebp, dword [rbx + 0x60]
mov r13d, eax
sub ebp, 1
js 0x4065c4
mov r14, qword [0x00482000]
jmp 0x4064ea
test eax, eax
je 0x4065c0
cmp dword [rsi + 0x44], eax
je 0x4065c0
sub ebp, 1
js 0x4065c4
mov rdx, qword [rbx + 0x58]
movsxd rax, ebp
mov rcx, qword [r14]
lea rax, [rax + rax*2]
mov r8d, r13d
mov edx, dword [rdx + rax*4]
lea r12, [rax*4]
call fcn.0042dfd0
test eax, eax
js 0x4064e1
mov rax, qword [rbx + 0x58]
add rax, r12
mov edx, dword [rax + 8]
mov eax, dword [rax + 4]
cmp edx, 0x10
jne 0x4064d0
mov ebp, eax
jmp 0x4064e1
mov rdx, qword [rbx + 0x128]
test rdx, rdx
je 0x40631c
mov rcx, rbx
call rdx
mov eax, dword [rbx + 0x124]
jmp 0x40631c
xor edx, edx
mov rcx, rbx
call fcn.00406070
jmp 0x4062de
mov dword [rsi + 0x40], 6
mov edi, 6
jmp 0x4062a9
mov r10d, dword [rbx + 0x18]
test r10d, r10d
jle 0x406900
cmp byte [rbx + 0x86], 0
je 0x4069ec
mov r9, qword [rbx + 0xb0]
test r9, r9
je 0x4062fb
mov r8, qword [rsi + 8]
mov rdx, qword [rsi]
mov rcx, rbx
call r9
cmp edi, 6
movsxd rax, dword [rsi + 0x40]
je 0x406300
jmp 0x406309
call fcn.0040d030
jmp 0x4063b7
test edx, edx
jne 0x4065d7
movsxd rdx, dword [rsi + 0x44]
mov rax, qword [rbx + 0x50]
mov edx, dword [rax + rdx*4]
test edx, edx
je 0x406920
mov dword [rsi + 0x40], edx
cmp edx, 1
jne 0x4062d5
jmp 0x4063f9
mov eax, dword [rbx + 0x100]
test eax, eax
jle 0x4062b7
cmp ecx, 3
je 0x40660c
cmp ecx, 0xe
jne 0x4069b7
cmp eax, 1
jne 0x4069b7
mov rcx, qword [rbx]
call fcn.0040ec70
jmp 0x4062b7
mov rdi, qword [rbx]
mov r15, qword [rsi + 0x28]
test rdi, rdi
je 0x406a49
test r15, r15
je 0x406a31
mov rcx, rdi
call fcn.0040e460
xor edx, edx
mov rcx, rdi
mov qword [rsp + 0x38], rax
call fcn.0040e420
mov eax, dword [r15 + 0x78]
test eax, eax
je 0x4068e2
lea rax, [r15 + 0x78]
xor ebp, ebp
lea r14, [rsp + 0x60]
lea r13, [rsp + 0x40]
mov qword [rsp + 0x30], rax
jmp 0x40670f
mov rdx, qword [r15 + 0x98]
lea rax, [rdx + rax*8 - 0x10]
mov r12, qword [rax]
mov rcx, r13
add ebp, 1
mov edx, dword [r12]
call fcn.00412560
lea rdx, str.fix_it:
mov rcx, rdi
call fcn.0040eb60
mov rdx, qword [rsp + 0x40]
mov rcx, rdi
call fcn.00407580
mov edx, dword [r12 + 4]
mov rcx, r14
call fcn.00412560
mov eax, dword [rsp + 0x6c]
mov r9d, dword [rsp + 0x4c]
lea rdx, str.:_i:_i__i:_i:
mov r8d, dword [rsp + 0x48]
mov rcx, rdi
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
call fcn.00410580
mov rdx, qword [r12 + 8]
mov rcx, rdi
call fcn.00407580
mov rcx, rdi
call fcn.0040e6d0
cmp dword [r15 + 0x78], ebp
jbe 0x4068e2
cmp ebp, 1
movsxd rax, ebp
jg 0x406680
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + rax*8 + 8]
jmp 0x40668c
mov edx, dword [rsi + 0x44]
mov r9d, dword [rsi + 0x40]
mov r8d, edi
mov rcx, rbx
call qword [rbx + 0xc8]
test rax, rax
mov r12, rax
je 0x40636b
mov rax, qword [rbx + 0xd0]
mov rbp, qword [rbx]
test rax, rax
je 0x406930
mov edx, dword [rbp + 0x44]
test edx, edx
je 0x406930
mov edx, dword [rsi + 0x44]
mov rcx, rbx
call rax
mov rbp, qword [rbx]
lea rdx, [0x004708e0]
mov r13, rax
mov rcx, rbp
call fcn.0040eb60
movsxd rdx, dword [rsi + 0x40]
lea rax, [0x00470ca0]
mov r14, qword [rax + rdx*8]
mov rcx, r14
call sub.msvcrt.dll_strlen
movzx ecx, byte [rbp + 0x43]
mov r8, rax
mov rdx, r14
call fcn.00408050
mov rcx, rbp
mov rdx, rax
call fcn.0040eb60
test r13, r13
je 0x406970
mov rdx, r13
mov rcx, rbp
call fcn.0040ef30
mov rdx, r12
mov rcx, rbp
call fcn.0040eb60
mov rcx, rbp
call fcn.004105f0
mov rcx, r13
call fcn.004689a0
movzx ecx, byte [rbp + 0x43]
call fcn.004080c0
mov rcx, rbp
mov rdx, rax
call fcn.0040eb60
mov rcx, rbp
mov edx, 0x5d
call fcn.0040e730
mov rcx, r12
call fcn.004689a0
jmp 0x40636b
mov rax, qword [rsi + 0x30]
test rax, rax
je 0x40635e
mov r12d, dword [rax]
test r12d, r12d
je 0x40635e
mov rbp, qword [rbx]
mov rcx, rbp
call fcn.0040e460
lea rdx, [0x004708e0]
mov rcx, rbp
mov r14, rax
call fcn.0040eb60
movsxd rdx, dword [rsi + 0x40]
lea rax, [0x00470ca0]
mov r13, qword [rax + rdx*8]
mov rcx, r13
call sub.msvcrt.dll_strlen
movzx ecx, byte [rbp + 0x43]
mov r8, rax
mov rdx, r13
call fcn.00408050
mov rcx, rbp
mov rdx, rax
call fcn.0040eb60
mov r8d, dword [rbp + 0x44]
test r8d, r8d
jne 0x40698d
lea rdx, str.CWE__i
mov r8d, r12d
mov rcx, rbp
call fcn.00410580
mov rcx, qword [rbx]
mov rdx, r14
call fcn.0040e420
mov ecx, dword [rbp + 0x44]
test ecx, ecx
jne 0x406980
movzx ecx, byte [rbp + 0x43]
call fcn.004080c0
mov rcx, rbp
mov rdx, rax
call fcn.0040eb60
mov edx, 0x5d
mov rcx, rbp
call fcn.0040e730
jmp 0x40635e
mov rdx, qword [rsp + 0x38]
mov rcx, rdi
call fcn.0040e420
mov rcx, qword [rbx]
call fcn.0040e140
jmp 0x406387
mov r9d, dword [rbx + 0x1c]
test r9d, r9d
jg 0x406572
jmp 0x40657f
add dword [rbx + 0x3c], 1
jmp 0x40630e
mov edx, dword [rsi + 0x40]
jmp 0x4065da
lea rdx, [0x004708e0]
mov rcx, rbp
call fcn.0040eb60
movsxd rdx, dword [rsi + 0x40]
lea rax, [0x00470ca0]
mov r13, qword [rax + rdx*8]
mov rcx, r13
call sub.msvcrt.dll_strlen
movzx ecx, byte [rbp + 0x43]
mov rdx, r13
mov r8, rax
call fcn.00408050
mov rcx, rbp
mov rdx, rax
call fcn.0040eb60
mov rdx, r12
mov rcx, rbp
call fcn.0040eb60
jmp 0x4067ea
mov rcx, rbp
call fcn.004105f0
jmp 0x4068bc
lea rcx, str.https:__cwe.mitre.org_data_definitions__i.html
mov edx, r12d
call fcn.0044fbe0
mov rcx, rbp
mov r13, rax
mov rdx, rax
call fcn.0040ef30
mov rcx, r13
call fcn.004689a0
jmp 0x406894
cmp eax, 2
jg 0x4069c4
mov rcx, qword [rbx]
call fcn.0040ec70
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.00405cb0
mov edx, 3
mov rcx, rbx
call fcn.004060d0
call sub.msvcrt.dll_abort
mov rcx, rsi
xor edx, edx
call fcn.0040df20
lea rcx, [rsp + 0x60]
mov edx, eax
call fcn.00412560
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.00405cb0
mov ecx, 4
call sub.msvcrt.dll_exit
lea r8, str.print_parseable_fixits
lea rcx, [0x00470808]
mov edx, 0x374
call fcn.0046d0e0
lea r8, str.print_parseable_fixits
lea rcx, [0x00470808]
mov edx, 0x373
call fcn.0046d0e0
nop
nop dword [rax]
nop word cs:[rax + rax]