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

Disassembly:
lea r12, [rsp - 0x5f0]
cmp r12, qword [r14 + 0x10]
jbe 0x503b7e
sub rsp, 0x670
mov qword [rsp + 0x668], rbp
lea rbp, [rsp + 0x668]
mov qword [rsp + 0x678], rax
mov qword [rsp + 0x680], rbx
mov qword [rsp + 0x688], rcx
mov qword [rsp + 0x690], rdi
mov dword [rsp + 0x698], esi
mov qword [rsp + 0x5d8], 0
movups xmmword [rsp + 0x5e0], xmm15
cmp dword [rsp + 0x698], 0x10
jge 0x503b6a
jmp 0x5031d5
mov rax, qword [rsp + 0x688]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x28], eax
inc eax
mov dword [rsp + 0x44], eax
mov rdx, qword [rsp + 0x690]
movsxd rcx, eax
cmp rdx, rcx
jae 0x503205
nop dword [rax]
jmp 0x503b65
jmp 0x503207
mov qword [rsp + 0x688], rcx
call fcn.00502d40
mov word [rsp + 0x60], ax
mov dword [rsp + 0x64], ebx
movsxd rcx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x680]
mov rsi, qword [rsp + 0x688]
cmp rsi, rcx
ja 0x50323c
jmp 0x503b59
lea rsi, [rdx + rcx*8]
mov word [rsi], ax
lea rsi, [rdx + rcx*8]
lea rsi, [rsi + 4]
mov dword [rsi], ebx
mov esi, dword [rsp + 0x28]
dec esi
cmp dword [rsp + 0x698], esi
jg 0x50325e
jmp 0x50326d
mov esi, dword [rsp + 0x28]
dec esi
mov dword [rsp + 0x698], esi
jmp 0x50326f
jmp 0x50326f
lea rdi, [rsp + 0x88]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004699bd
mov rbp, qword [rbp]
lea rdi, [rsp + 0x1c8]
nop dword [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.004698c0
mov rbp, qword [rbp]
mov dword [rsp + 0x34], 1
jmp 0x5032bd
mov esi, dword [rsp + 0x34]
cmp dword [rsp + 0x698], esi
jge 0x5032cf
jmp 0x50343b
movups xmmword [rsp + 0x74], xmm15
movups xmmword [rsp + 0x78], xmm15
mov esi, dword [rsp + 0x34]
mov dword [rsp + 0x74], esi
mov rcx, qword [rsp + 0x688]
mov rdi, qword [rsp + 0x680]
cmp rcx, 1
ja 0x5032fe
jmp 0x503b4f
mov edi, dword [rdi + 0xc]
mov dword [rsp + 0x78], edi
mov rcx, qword [rsp + 0x688]
mov r8, qword [rsp + 0x680]
cmp rcx, 2
ja 0x503325
nop dword [rax + rax]
jmp 0x503b45
mov r8d, dword [r8 + 0x14]
mov dword [rsp + 0x7c], r8d
mov rcx, qword [rsp + 0x688]
mov r9, qword [rsp + 0x680]
nop
test rcx, rcx
ja 0x50334a
jmp 0x503b39
mov r9d, dword [r9 + 4]
mov rcx, qword [rsp + 0x688]
mov r10, qword [rsp + 0x680]
nop
cmp rcx, 1
ja 0x50336b
jmp 0x503b2f
add r9d, dword [r10 + 0xc]
mov dword [rsp + 0x80], r9d
movsxd rax, dword [rsp + 0x34]
nop dword [rax]
cmp rax, 0x10
jb 0x50338b
jmp 0x503b25
lea r10, [rax + rax*4]
lea r11, [rsp + r10*4 + 0x88]
movups xmmword [r11], xmm15
movups xmmword [r11 + 4], xmm15
lea r11, [rsp + r10*4 + 0x88]
mov dword [r11], esi
lea rsi, [rsp + r10*4 + 0x8c]
mov dword [rsi], edi
lea rsi, [rsp + r10*4 + 0x90]
mov dword [rsi], r8d
lea rsi, [rsp + r10*4 + 0x94]
mov dword [rsi], r9d
movsxd rax, dword [rsp + 0x34]
cmp rax, 0x10
jb 0x5033db
jmp 0x503b19
shl rax, 6
lea rsi, [rsp + rax + 0x1c8]
movsxd rax, dword [rsp + 0x34]
cmp rax, 0x10
jb 0x5033f7
jmp 0x503b0f
lea rsi, [rsi + rax*4]
mov dword [rsi], 2
cmp dword [rsp + 0x34], 1
je 0x50340a
jmp 0x50342e
movsxd rax, dword [rsp + 0x34]
cmp rax, 0x10
jb 0x50341a
jmp 0x503b05
lea rsi, [rax + rax*4]
lea rsi, [rsp + rsi*4 + 0x94]
mov dword [rsi], 0x7fffffff
jmp 0x503430
jmp 0x503430
jmp 0x503432
inc dword [rsp + 0x34]
jmp 0x5032bd
movsxd rax, dword [rsp + 0x698]
mov esi, dword [rsp + 0x28]
lea edi, [rsi - 4]
add esi, edi
cmp rax, 0x10
jb 0x503457
jmp 0x503afa
lea rdi, [rax + rax*4]
lea rdi, [rsp + rdi*4 + 0x98]
mov dword [rdi], esi
mov esi, dword [rsp + 0x698]
mov dword [rsp + 0x30], esi
jmp 0x503472
jmp 0x503474
movsxd rax, dword [rsp + 0x30]
cmp rax, 0x10
jb 0x503485
nop
jmp 0x503af0
lea rsi, [rax + rax*4]
lea rdi, [rsp + rsi*4 + 0x88]
mov qword [rsp + 0x5c8], rdi
test byte [rdi], al
lea rsi, [rsp + rsi*4 + 0x94]
cmp dword [rsi], 0x7fffffff
sete byte [rsp + 0x1f]
je 0x5034b2
jmp 0x5034ca
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
cmp dword [rsi + 8], 0x7fffffff
sete byte [rsp + 0x1f]
jmp 0x5034cc
jmp 0x5034cc
cmp byte [rsp + 0x1f], 0
jne 0x5034d5
jmp 0x503519
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov dword [rsi + 0x10], 0
mov esi, dword [rsp + 0x30]
inc esi
mov dword [rsp + 0x40], esi
movsxd rax, esi
cmp rax, 0x10
jb 0x5034fe
jmp 0x503ae6
lea rsi, [rax + rax*4]
lea rsi, [rsp + rsi*4 + 0x94]
mov dword [rsi], 0x7fffffff
inc dword [rsp + 0x30]
jmp 0x503950
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov esi, dword [rsi + 4]
mov dword [rsp + 0x20], esi
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov rdi, qword [rsp + 0x5c8]
test byte [rdi], al
mov esi, dword [rsi + 8]
cmp dword [rdi + 0xc], esi
jg 0x50354b
jmp 0x50360e
movsxd rax, dword [rsp + 0x30]
cmp rax, 0x10
jb 0x50355b
jmp 0x503adc
shl rax, 6
lea rsi, [rsp + rax + 0x1c8]
movsxd rax, dword [rsp + 0x30]
cmp rax, 0x10
jb 0x503577
jmp 0x503ad2
lea rsi, [rsi + rax*4]
mov esi, dword [rsi]
inc esi
mov dword [rsp + 0x24], esi
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov rdi, qword [rsp + 0x5c8]
test byte [rdi], al
mov edi, dword [rdi + 8]
mov dword [rsi + 4], edi
movsxd rax, dword [rsp + 0x30]
mov esi, dword [rsp + 0x24]
cmp rax, 0x10
jb 0x5035b1
jmp 0x503ac8
shl rax, 6
lea rdi, [rsp + rax + 0x1c8]
movsxd rax, dword [rsp + 0x30]
cmp rax, 0x10
jb 0x5035cd
jmp 0x503abe
lea rdi, [rdi + rax*4]
mov dword [rdi], esi
movsxd rax, dword [rsp + 0x24]
mov rcx, qword [rsp + 0x688]
mov rsi, qword [rsp + 0x680]
cmp rcx, rax
ja 0x5035f2
jmp 0x503ab9
mov rdi, qword [rsp + 0x5c8]
test byte [rdi], al
lea rsi, [rsi + rax*8]
lea rsi, [rsi + 4]
mov esi, dword [rsi]
mov dword [rdi + 8], esi
jmp 0x5037b9
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov rdi, qword [rsp + 0x5c8]
test byte [rdi], al
mov edi, dword [rdi + 0xc]
mov dword [rsi + 4], edi
movsxd rax, dword [rsp + 0x30]
cmp rax, 0x10
jb 0x503638
jmp 0x503aaf
shl rax, 6
lea rsi, [rsp + rax + 0x1c8]
test byte [rsi], al
movsxd rcx, dword [rsp + 0x30]
cmp rcx, 0x10
jbe 0x503656
jmp 0x503aa5
jmp 0x503658
mov qword [rsp + 0x650], rsi
mov qword [rsp + 0x658], rcx
mov qword [rsp + 0x660], 0x10
mov esi, dword [rsp + 0x30]
dec esi
movsxd rax, esi
nop dword [rax]
cmp rax, 0x10
jb 0x50368b
jmp 0x503a99
shl rax, 6
lea rsi, [rsp + rax + 0x1c8]
test byte [rsi], al
movsxd rcx, dword [rsp + 0x30]
nop
cmp rcx, 0x10
jbe 0x5036ab
jmp 0x503a8f
jmp 0x5036ad
mov qword [rsp + 0x638], rsi
mov qword [rsp + 0x640], rcx
mov qword [rsp + 0x648], 0x10
mov rsi, qword [rsp + 0x650]
mov rdi, qword [rsp + 0x658]
mov r8, qword [rsp + 0x660]
mov qword [rsp + 0x620], rsi
mov qword [rsp + 0x628], rdi
mov qword [rsp + 0x630], r8
mov rsi, qword [rsp + 0x640]
mov rdi, qword [rsp + 0x638]
mov r8, qword [rsp + 0x648]
mov qword [rsp + 0x608], rdi
mov qword [rsp + 0x610], rsi
mov qword [rsp + 0x618], r8
mov rdi, qword [rsp + 0x628]
mov qword [rsp + 0x58], rdi
cmp rsi, rdi
jl 0x50373d
jmp 0x503744
mov qword [rsp + 0x58], rsi
jmp 0x503746
jmp 0x503746
mov rsi, qword [rsp + 0x608]
cmp qword [rsp + 0x620], rsi
jne 0x50375a
jmp 0x50377f
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x50], rcx
mov rbx, qword [rsp + 0x608]
mov rax, qword [rsp + 0x620]
shl rcx, 2
call fcn.0046a0e0
jmp 0x503782
nop
jmp 0x503782
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov esi, dword [rsi]
dec esi
mov dword [rsp + 0x3c], esi
movsxd rax, esi
cmp rax, 0x10
jb 0x5037a5
nop dword [rax]
jmp 0x503a85
lea rsi, [rax + rax*4]
lea rsi, [rsp + rsi*4 + 0x98]
mov dword [rsi], 2
jmp 0x5037b9
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov rdi, qword [rsp + 0x5c8]
test byte [rdi], al
mov esi, dword [rsi + 0x10]
dec esi
mov dword [rdi + 0x10], esi
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
cmp dword [rsi + 0x10], 0
je 0x5037ea
jmp 0x50391c
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov esi, dword [rsi]
cmp dword [rsp + 0x698], esi
je 0x503805
nop
jmp 0x5038d5
jmp 0x503807
movsxd rax, dword [rsp + 0x698]
cmp rax, 0x10
jb 0x50381a
jmp 0x503a7a
shl rax, 6
lea rsi, [rsp + rax + 0x1c8]
movsxd rax, dword [rsp + 0x698]
cmp rax, 0x10
jb 0x503839
jmp 0x503a70
lea rsi, [rsi + rax*4]
mov esi, dword [rsi]
nop
cmp dword [rsp + 0x28], esi
jne 0x503a5d
jmp 0x50384c
mov esi, dword [rsp + 0x698]
inc esi
mov dword [rsp + 0x44], esi
mov rdi, qword [rsp + 0x678]
test byte [rdi], al
add rdi, 0x30
test byte [rdi], al
movsxd rcx, esi
cmp rcx, 0x11
jbe 0x503877
jmp 0x503a53
jmp 0x503879
mov qword [rsp + 0x5f0], rdi
mov qword [rsp + 0x5f8], rcx
mov qword [rsp + 0x600], 0x11
mov qword [rsp + 0x48], 1
movsxd rax, dword [rsp + 0x698]
cmp rax, 0x10
jb 0x5038b1
jmp 0x503a49
shl rax, 6
lea rdx, [rsp + rax + 0x1c8]
mov qword [rsp + 0x5d0], rdx
mov edx, dword [rsp + 0x698]
mov dword [rsp + 0x2c], edx
jmp 0x503969
mov rsi, qword [rsp + 0x5c8]
test byte [rsi], al
mov esi, dword [rsi]
inc esi
mov dword [rsp + 0x38], esi
mov rdi, qword [rsp + 0x5c8]
test byte [rdi], al
movsxd rax, esi
mov esi, dword [rsp + 0x20]
add esi, dword [rdi + 4]
nop dword [rax + rax]
cmp rax, 0x10
jb 0x503908
jmp 0x50395f
lea rdi, [rax + rax*4]
lea rdi, [rsp + rdi*4 + 0x94]
mov dword [rdi], esi
inc dword [rsp + 0x30]
jmp 0x50394e
jmp 0x50391e
mov esi, dword [rsp + 0x30]
dec esi
movsxd rax, esi
cmp rax, 0x10
jb 0x50392f
jmp 0x503955
lea rsi, [rax + rax*4]
lea rsi, [rsp + rsi*4 + 0x98]
cmp dword [rsi], 0
nop
jg 0x503944
jmp 0x50394c
dec dword [rsp + 0x30]
jmp 0x50394a
jmp 0x50391e
jmp 0x50394e
jmp 0x503950
jmp 0x503472
mov ecx, 0x10
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
cmp dword [rsp + 0x2c], 0
jg 0x503972
jmp 0x5039e5
mov rdx, qword [rsp + 0x5d0]
test byte [rdx], al
movsxd rax, dword [rsp + 0x2c]
cmp rax, 0x10
jb 0x50398c
jmp 0x503a3f
mov rsi, qword [rsp + 0x5d0]
test byte [rsi], al
lea rdx, [rdx + rax*4]
mov edx, dword [rdx]
mov edi, dword [rsp + 0x2c]
dec edi
movsxd rax, edi
cmp rax, 0x10
jb 0x5039b0
jmp 0x503a35
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x5f8]
mov r8, qword [rsp + 0x5f0]
lea rsi, [rsi + rax*4]
sub edx, dword [rsi]
cmp rdi, rcx
jb 0x5039d2
jmp 0x503a2d
lea rsi, [r8 + rdi*4]
mov dword [rsi], edx
inc qword [rsp + 0x48]
jmp 0x5039df
dec dword [rsp + 0x2c]
jmp 0x503969
mov rbx, qword [rsp + 0x5f8]
mov rcx, qword [rsp + 0x600]
mov rdx, qword [rsp + 0x5f0]
mov qword [rsp + 0x5d8], rdx
mov qword [rsp + 0x5e0], rbx
mov qword [rsp + 0x5e8], rcx
mov rax, qword [rsp + 0x5d8]
mov rbp, qword [rsp + 0x668]
add rsp, 0x670
ret
mov rax, rdi
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov edx, 0x11
call fcn.00469760
lea rax, [0x0057b680]
lea rbx, [0x0068ef98]
call fcn.0043c180
mov ecx, 0x10
call fcn.00469720
mov ecx, 0x10
nop
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov edx, 0x10
call fcn.00469760
mov ecx, 0x10
nop
call fcn.00469720
mov edx, 0x10
call fcn.00469760
mov ecx, 0x10
call fcn.00469720
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov ecx, 0x10
nop
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov ecx, 0x10
nop
call fcn.00469720
mov ecx, 0x10
call fcn.00469720
mov eax, 1
call fcn.00469720
xor eax, eax
nop dword [rax + rax]
call fcn.00469720
mov eax, 2
call fcn.00469720
mov eax, 1
call fcn.00469720
mov rax, rcx
mov rcx, rsi
nop
call fcn.00469720
call fcn.004697a0
lea rax, [0x0057b680]
lea rbx, [0x0068ef88]
call fcn.0043c180
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov dword [rsp + 0x28], esi
call fcn.004670c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov esi, dword [rsp + 0x28]
jmp fcn.00503160