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

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb8
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov rdi, r8
mov r12, rdx
mov rsi, rcx
xor r14d, r14d
mov byte [rcx + 0x48], r14b
mov byte [rcx + 0x49], r14b
mov byte [rcx + 0x4a], r14b
mov byte [rcx + 0x4b], r14b
mov rcx, rdx
call fcn.00475f48
mov rcx, qword [r12 + 0x90]
mov rax, qword [rcx]
lea r9, [r12 + 0x20]
lea r15d, [r14 + 1]
mov r8d, r15d
xor edx, edx
call qword [rax + 0x20]
cmp eax, r14d
jne 0x4766d7
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x118], r14
mov r8d, 0x20
lea rdx, [rsp + 0x80]
mov rcx, qword [r12 + 0x90]
call fcn.00411b08
mov ebx, eax
cmp eax, r14d
je 0x476086
jmp 0x4761ef
mov r8d, 8
lea rbx, str.MSCF
mov rdx, rbx
lea rcx, [rsp + 0x80]
call sub.msvcrt.dll_memcmp
cmp eax, r14d
jne 0x4761e2
lea rdx, [rsp + 0x80]
lea rcx, [r12 + 0x28]
call fcn.00475688
cmp al, r14b
je 0x4761e2
mov ecx, 0x30
call fcn.00402398
mov rbx, rax
cmp rax, r14
je 0x4760ed
mov dword [rax + 8], r14d
lea rax, [0x004d43b0]
mov qword [rbx], rax
mov qword [rbx + 0x10], r14
jmp 0x4760f0
mov rbx, r14
cmp rbx, r14
je 0x4760fe
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
mov qword [rsp + 0x118], rbx
mov rdi, qword [r12 + 0x90]
cmp rdi, r14
je 0x47611c
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + VariantCopy]
mov rcx, qword [rbx + 0x10]
cmp rcx, r14
je 0x47612b
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [rbx + 0x10], rdi
mov ecx, dword [r12 + 0x88]
add ecx, 0xfffffff8
mov qword [rbx + 0x18], rcx
mov qword [rbx + 0x20], r14
mov byte [rbx + 0x28], r14b
mov qword [rsp + 0x38], r14
mov r13d, 0x8000
mov rcx, r13
call fcn.00402398
mov r15, rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], r13
mov r8d, 0x20
lea rdx, [rsp + 0x80]
mov rcx, rax
call sub.msvcrt.dll_memcpy
lea r14, [r15 + 0x20]
mov r10, qword [rbx]
lea r9, [rsp + 0x100]
lea r8d, [r13 - 0x20]
mov rdx, r14
mov rcx, rbx
call qword [r10 + 0x18]
mov edi, eax
xor r8d, r8d
cmp eax, r8d
je 0x4761b2
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
nop
jmp 0x4766cd
mov eax, dword [rsp + 0x100]
add eax, 0x20
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x28], r13
mov qword [rsi + 0x20], r8
mov qword [rsi], r14
add rax, r15
mov qword [rsi + 8], rax
mov byte [rsi + 0x30], r8b
mov dword [rsi + 0x34], r8d
mov r14, r8
jmp 0x4763b2
cmp rdi, r14
je 0x4761fd
cmp qword [rdi], r14
jne 0x4761fd
mov ebx, r15d
xor ecx, ecx
call fcn.004023c4
mov eax, ebx
jmp 0x4766d7
mov rax, qword [r12 + 0x90]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x58], 8
mov qword [rsp + 0x78], rdi
mov edi, 0x20
mov dword [rsp + 0x5c], edi
mov dword [rsp + 0x60], edi
mov dword [rsp + 0x64], 0x8020
mov qword [rsp + 0x38], r14
mov ebx, 0x8030
mov rcx, rbx
call fcn.00402398
mov r15, rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rax
mov r8, rdi
lea rdx, [rsp + 0x80]
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov r11, qword [r12 + 0x20]
mov qword [rsp + 0x70], r11
mov dword [rsp + 0x4c], edi
mov dword [rsp + 0x48], 1
lea rcx, [rsp + 0x40]
call fcn.0047552c
cmp eax, r14d
jne 0x4762bd
mov edi, dword [rsp + 0x48]
mov rdx, rdi
add rdx, qword [rsp + 0x40]
lea rcx, [r12 + 0x28]
call fcn.00475688
cmp al, r14b
jne 0x4762c4
inc edi
mov dword [rsp + 0x48], edi
lea rcx, [rsp + 0x40]
call fcn.0047552c
cmp eax, r14d
je 0x47628d
mov edi, eax
jmp 0x4766cd
mov r14, rdi
mov rax, qword [rsp + 0x70]
lea rcx, [rdi + rax]
mov qword [r12 + 0x20], rcx
mov ecx, 0x30
call fcn.00402398
mov rbx, rax
xor r8d, r8d
cmp rax, r8
je 0x4762fe
mov dword [rax + 8], r8d
lea rax, [0x004d43b0]
mov qword [rbx], rax
mov qword [rbx + 0x10], r8
jmp 0x476301
mov rbx, r8
mov r13, qword [r12 + 0x90]
cmp r13, r8
je 0x47631b
mov rax, qword [r13]
mov rcx, r13
call qword [rax + VariantCopy]
xor r8d, r8d
mov rcx, qword [rbx + 0x10]
cmp rcx, r8
je 0x47632d
mov rax, qword [rcx]
call qword [rax + 0x10]
xor r8d, r8d
mov qword [rbx + 0x10], r13
cmp rbx, r8
je 0x476342
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + VariantCopy]
xor r8d, r8d
mov qword [rsp + 0x118], rbx
mov edx, dword [rsp + 0x4c]
mov eax, edx
sub eax, edi
mov ecx, dword [r12 + 0x88]
cmp ecx, eax
ja 0x476377
mov qword [rbx + 0x18], r8
mov qword [rbx + 0x20], r8
mov byte [rbx + 0x28], r8b
mov eax, dword [r12 + 0x88]
lea edx, [rdi + rax]
jmp 0x476387
sub ecx, eax
mov eax, ecx
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], r8
mov byte [rbx + 0x28], r8b
lea eax, [rdi + 0x20]
mov qword [rsi + 0x10], r15
mov r13d, 0x8000
mov qword [rsi + 0x28], r13
mov qword [rsi + 0x20], r8
add rax, r15
mov qword [rsi], rax
lea rax, [rdx + r15]
mov qword [rsi + 8], rax
mov byte [rsi + 0x30], r8b
mov dword [rsi + 0x34], r8d
mov byte [rsi + 0x48], 1
mov qword [rsi + 0x18], rbx
cmp qword [rsi + 0x40], r8
jne 0x4763f4
mov edi, 0x1000
cmp qword [rsi + 0x40], rdi
je 0x4763f4
mov rcx, qword [rsi + 0x38]
cmp rcx, r8
je 0x4763e0
call fcn.004023c4
xor r8d, r8d
mov qword [rsi + 0x38], r8
mov qword [rsi + 0x40], r8
mov rcx, rdi
call fcn.00402398
mov qword [rsi + 0x38], rax
mov qword [rsi + 0x40], rdi
mov r8d, dword [r12 + 0x34]
shr r8d, 2
and r8d, 1
lea r8d, [r8*4 + 4]
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.004754f8
movzx r11d, word [rsp + 0x20]
mov dword [r12 + 0x38], r11d
movzx eax, word [rsp + 0x22]
mov dword [r12 + 0x3c], eax
mov eax, dword [r12 + 0x34]
shr eax, 2
test al, 1
je 0x47645e
mov ecx, dword [rsp + 0x24]
mov word [r12 + 0x40], cx
mov al, byte [rsp + 0x26]
mov byte [r12 + 0x42], al
mov al, byte [rsp + 0x27]
mov byte [r12 + 0x43], al
movzx edx, cx
mov rcx, rsi
call fcn.004754c4
test byte [r12 + 0x34], 1
je 0x476480
lea rdx, [r12 + 0x48]
mov rcx, rsi
call fcn.004757e8
lea rdx, [r12 + 0x58]
mov rcx, rsi
call fcn.004757e8
mov eax, dword [r12 + 0x34]
shr eax, 1
test al, 1
je 0x4764a5
lea rdx, [r12 + 0x68]
mov rcx, rsi
call fcn.004757e8
lea rdx, [r12 + 0x78]
mov rcx, rsi
call fcn.004757e8
mov edi, dword [r12 + 0x2c]
xor r13d, r13d
mov dword [r12 + 8], r13d
cmp edi, dword [r12 + 0xc]
jbe 0x4764e0
mov rcx, qword [r12]
call fcn.004023c4
mov qword [r12], r13
mov dword [r12 + 0xc], r13d
mov rcx, rdi
shl rcx, 3
call fcn.00402398
mov qword [r12], rax
mov dword [r12 + 0xc], edi
mov edi, r13d
cmp dword [r12 + 0x2c], r13d
jbe 0x47655e
mov r8d, 8
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.004754f8
mov r11d, dword [rsp + 0x20]
mov dword [rsp + 0x108], r11d
movzx eax, word [rsp + 0x24]
mov word [rsp + 0x10c], ax
mov al, byte [rsp + 0x26]
mov byte [rsp + 0x10e], al
mov al, byte [rsp + 0x27]
mov byte [rsp + 0x10f], al
movzx edx, byte [r12 + 0x42]
mov rcx, rsi
call fcn.004754c4
mov r11d, dword [r12 + 8]
mov rcx, qword [r12]
mov rax, qword [rsp + 0x108]
mov qword [rcx + r11*8], rax
inc dword [r12 + 8]
inc edi
cmp edi, dword [r12 + 0x2c]
jb 0x4764ea
mov edx, dword [r12 + 0x8c]
mov eax, dword [rsi + 0x34]
sub rax, qword [rsi + 0x10]
sub rax, r14
add rax, qword [rsi + 0x20]
add rax, qword [rsi]
cmp rax, rdx
je 0x4765d0
mov rcx, qword [r12 + 0x90]
mov r10, qword [rcx]
add rdx, qword [r12 + 0x20]
xor r9d, r9d
xor r8d, r8d
call qword [r10 + 0x20]
mov edi, eax
cmp eax, r13d
je 0x4765ac
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x10]
nop
jmp 0x4766cd
mov eax, dword [r12 + 0x88]
sub eax, dword [r12 + 0x8c]
mov qword [rbx + 0x18], rax
mov qword [rbx + 0x20], r13
mov byte [rbx + 0x28], r13b
mov rcx, rsi
call fcn.0040ead0
mov edx, dword [r12 + 0x30]
lea rcx, [r12 + 0x10]
call fcn.00430d8c
cmp dword [r12 + 0x30], r13d
jbe 0x4766c1
mov r8d, 0x10
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.004754f8
mov ecx, 0x28
call fcn.00402398
mov rdi, rax
mov qword [rsp + 0x108], rax
test rax, rax
je 0x476621
mov rcx, rax
call fcn.00402f84
jmp 0x476623
xor edi, edi
mov ecx, dword [r12 + 0x18]
mov rax, qword [r12 + 0x10]
mov qword [rax + rcx*8], rdi
inc dword [r12 + 0x18]
mov eax, dword [rsp + 0x20]
mov dword [rdi + 0x14], eax
mov eax, dword [rsp + 0x24]
mov dword [rdi + 0x10], eax
movzx eax, word [rsp + 0x28]
mov dword [rdi + 0x1c], eax
movzx ecx, word [rsp + 0x2a]
shl ecx, 0x10
movzx eax, word [rsp + 0x2c]
or ecx, eax
mov dword [rdi + 0x18], ecx
movzx eax, word [rsp + 0x2e]
mov word [rdi + 0x22], ax
mov rdx, rdi
mov rcx, rsi
call fcn.004757e8
mov r11d, dword [r12 + 8]
mov eax, dword [rdi + 0x1c]
cmp eax, 0xfffd
je 0x476688
cmp eax, 0xffff
jne 0x47668c
xor eax, eax
jmp 0x476697
cmp eax, 0xfffe
jne 0x476697
lea eax, [r11 - 1]
cmp eax, r11d
jge 0x4766ac
inc r13d
cmp r13d, dword [r12 + 0x30]
jb 0x4765ea
jmp 0x4766c1
mov byte [rsi + 0x4b], 1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
mov edi, 1
jmp 0x4766cd
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
xor edi, edi
mov rcx, r15
call fcn.004023c4
mov eax, edi
add rsp, 0xb8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret