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

Disassembly:
sub rsp, 0xa0
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r8
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x14], 0x3a7f9d4d
mov eax, dword [rsp + 0x14]
mov ecx, eax
sub ecx, 0x90e7e0bc
mov dword [rsp + 4], eax
je 0x2fc4c4c48
jmp 0x2fc4c46f3
mov eax, dword [rsp + 4]
sub eax, 0xa0296ecb
je 0x2fc4c4ece
jmp 0x2fc4c4707
mov eax, dword [rsp + 4]
sub eax, 0xa1939fed
je 0x2fc4c4db1
jmp 0x2fc4c471b
mov eax, dword [rsp + 4]
sub eax, 0xb1265876
je 0x2fc4c4eb6
jmp 0x2fc4c472f
mov eax, dword [rsp + 4]
sub eax, 0xbb6b3af1
je 0x2fc4c4b39
jmp 0x2fc4c4743
mov eax, dword [rsp + 4]
sub eax, 0xc9adb8b7
je 0x2fc4c4d0e
jmp 0x2fc4c4757
mov eax, dword [rsp + 4]
sub eax, 0xcbd47105
je 0x2fc4c4c5d
jmp 0x2fc4c476b
mov eax, dword [rsp + 4]
sub eax, 0xd04f23da
je 0x2fc4c4bf1
jmp 0x2fc4c477f
mov eax, dword [rsp + 4]
sub eax, 0xde8d3d98
je 0x2fc4c4ef3
jmp 0x2fc4c4793
mov eax, dword [rsp + 4]
sub eax, 0xe0bd0a79
je 0x2fc4c4a7c
jmp 0x2fc4c47a7
mov eax, dword [rsp + 4]
sub eax, 0xe79a19f2
je 0x2fc4c4e83
jmp 0x2fc4c47bb
mov eax, dword [rsp + 4]
sub eax, 0xeca375f2
je 0x2fc4c4b57
jmp 0x2fc4c47cf
mov eax, dword [rsp + 4]
sub eax, 0xedbee4d0
je 0x2fc4c4aab
jmp 0x2fc4c47e3
mov eax, dword [rsp + 4]
sub eax, 0xef10ea1f
je 0x2fc4c4dc7
jmp 0x2fc4c47f7
mov eax, dword [rsp + 4]
sub eax, 0xf5911bcb
je 0x2fc4c4cae
jmp 0x2fc4c480b
mov eax, dword [rsp + 4]
sub eax, 0xf660f889
je 0x2fc4c4d26
jmp 0x2fc4c481f
mov eax, dword [rsp + 4]
sub eax, 0xf7fc9437
je 0x2fc4c4c7d
jmp 0x2fc4c4833
mov eax, dword [rsp + 4]
sub eax, 0xfc3db2ee
je 0x2fc4c4e53
jmp 0x2fc4c4847
mov eax, dword [rsp + 4]
sub eax, 0x457bd84
je 0x2fc4c4e20
jmp 0x2fc4c485b
mov eax, dword [rsp + 4]
sub eax, 0xa508d7d
je 0x2fc4c4c99
jmp 0x2fc4c486f
mov eax, dword [rsp + 4]
sub eax, 0x193cc4ed
je 0x2fc4c4b23
jmp 0x2fc4c4883
mov eax, dword [rsp + 4]
sub eax, 0x19ea860f
je 0x2fc4c4b8a
jmp 0x2fc4c4897
mov eax, dword [rsp + 4]
sub eax, 0x1e1876b0
je 0x2fc4c4d5d
jmp 0x2fc4c48ab
mov eax, dword [rsp + 4]
sub eax, 0x21af787e
je 0x2fc4c4e06
jmp 0x2fc4c48bf
mov eax, dword [rsp + 4]
sub eax, 0x2306046f
je 0x2fc4c4bda
jmp 0x2fc4c48d3
mov eax, dword [rsp + 4]
sub eax, 0x23fba730
je 0x2fc4c4c0a
jmp 0x2fc4c48e7
mov eax, dword [rsp + 4]
sub eax, 0x28499b05
je 0x2fc4c4d90
jmp 0x2fc4c48fb
mov eax, dword [rsp + 4]
sub eax, 0x3a7f9d4d
je 0x2fc4c4a40
jmp 0x2fc4c490f
mov eax, dword [rsp + 4]
sub eax, 0x3b79bad1
je 0x2fc4c4b73
jmp 0x2fc4c4923
mov eax, dword [rsp + 4]
sub eax, 0x4263d31c
je 0x2fc4c4c1f
jmp 0x2fc4c4937
mov eax, dword [rsp + 4]
sub eax, 0x4be0c153
je 0x2fc4c4a60
jmp 0x2fc4c494b
mov eax, dword [rsp + 4]
sub eax, 0x4ebaeea1
je 0x2fc4c4cf9
jmp 0x2fc4c495f
mov eax, dword [rsp + 4]
sub eax, 0x5e580b9a
je 0x2fc4c4d3b
jmp 0x2fc4c4973
mov eax, dword [rsp + 4]
sub eax, 0x5ec85758
je 0x2fc4c4edb
jmp 0x2fc4c4987
mov eax, dword [rsp + 4]
sub eax, 0x70ea7db4
je 0x2fc4c4d72
jmp 0x2fc4c499b
mov eax, dword [rsp + 4]
sub eax, 0x722eac3f
je 0x2fc4c4de5
jmp 0x2fc4c49af
mov eax, dword [rsp + 4]
sub eax, 0x765c662d
je 0x2fc4c4bc5
jmp 0x2fc4c49c3
mov eax, dword [rsp + 4]
sub eax, 0x770a256d
je 0x2fc4c4cc6
jmp 0x2fc4c49d7
mov eax, dword [rsp + 4]
sub eax, 0x780a4355
je 0x2fc4c4a9e
jmp 0x2fc4c49eb
mov eax, dword [rsp + 4]
sub eax, 0x79c4dd73
je 0x2fc4c4b05
jmp 0x2fc4c49ff
mov eax, dword [rsp + 4]
sub eax, 0x7bd14dde
je 0x2fc4c4e9e
jmp 0x2fc4c4a13
mov eax, dword [rsp + 4]
sub eax, 0x7c22c6d4
je 0x2fc4c4a91
jmp 0x2fc4c4a27
mov eax, dword [rsp + 4]
sub eax, 0x7c4851c8
je 0x2fc4c4af0
jmp 0x2fc4c4a3b
jmp 0x2fc4c4f02
mov rax, qword [rsp + 0x40]
cmp rax, 0
sete cl
and cl, 1
mov byte [rsp + 0x4a], cl
mov dword [rsp + 0x14], 0x4be0c153
jmp 0x2fc4c4f02
mov al, byte [rsp + 0x4a]
test al, 1
mov ecx, 0xe0bd0a79
mov edx, 0x780a4355
cmovne edx, ecx
mov dword [rsp + 0x14], edx
jmp 0x2fc4c4f02
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x14], 0x7c22c6d4
jmp 0x2fc4c4f02
mov dword [rsp + 0x14], 0x5ec85758
jmp 0x2fc4c4f02
mov dword [rsp + 0x14], 0xedbee4d0
jmp 0x2fc4c4f02
mov rax, qword [rsp + 0x30]
mov rcx, rax
add rcx, 2
mov qword [rsp + 0x30], rcx
mov dx, word [rax]
mov word [rsp + 0x1e], dx
mov rax, qword [rsp + 0x28]
mov rcx, rax
add rcx, 1
mov qword [rsp + 0x28], rcx
mov r8b, byte [rax]
mov byte [rsp + 0x4b], r8b
mov dword [rsp + 0x14], 0x7c4851c8
jmp 0x2fc4c4f02
mov al, byte [rsp + 0x4b]
mov byte [rsp + 0x1d], al
mov dword [rsp + 0x14], 0x79c4dd73
jmp 0x2fc4c4f02
movzx eax, word [rsp + 0x1e]
cmp eax, 0x41
mov eax, 0x193cc4ed
mov ecx, 0x2306046f
cmovge ecx, eax
mov dword [rsp + 0x14], ecx
jmp 0x2fc4c4f02
movzx eax, word [rsp + 0x1e]
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x14], 0xbb6b3af1
jmp 0x2fc4c4f02
mov eax, dword [rsp + 0x4c]
cmp eax, 0x5a
setle cl
and cl, 1
mov byte [rsp + 0x51], cl
mov dword [rsp + 0x14], 0xeca375f2
jmp 0x2fc4c4f02
mov al, byte [rsp + 0x51]
test al, 1
mov ecx, 0x3b79bad1
mov edx, 0x2306046f
cmovne edx, ecx
mov dword [rsp + 0x14], edx
jmp 0x2fc4c4f02
mov ax, word [rsp + 0x1e]
mov word [rsp + 0x52], ax
mov dword [rsp + 0x14], 0x19ea860f
jmp 0x2fc4c4f02
xor eax, eax
mov cx, word [rsp + 0x52]
movzx edx, cx
sub edx, 0xa8525cd2
sub edx, 0x41
add edx, 0xa8525cd2
mov r8d, eax
sub r8d, edx
mov edx, eax
sub edx, 0x61
add r8d, edx
sub eax, r8d
mov dword [rsp + 0x54], eax
mov dword [rsp + 0x14], 0x765c662d
jmp 0x2fc4c4f02
mov dword [rsp + 0x14], 0x4263d31c
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x10], eax
jmp 0x2fc4c4f02
mov ax, word [rsp + 0x1e]
mov word [rsp + 0x5a], ax
mov dword [rsp + 0x14], 0xd04f23da
jmp 0x2fc4c4f02
mov ax, word [rsp + 0x5a]
movzx ecx, ax
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x14], 0x23fba730
jmp 0x2fc4c4f02
mov dword [rsp + 0x14], 0x4263d31c
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x10], eax
jmp 0x2fc4c4f02
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0x9c], eax
movsx eax, byte [rsp + 0x1d]
cmp eax, 0x41
mov eax, 0x90e7e0bc
mov ecx, 0x4ebaeea1
cmovge ecx, eax
mov dword [rsp + 0x14], ecx
jmp 0x2fc4c4f02
mov al, byte [rsp + 0x1d]
mov byte [rsp + 0x61], al
mov dword [rsp + 0x14], 0xcbd47105
jmp 0x2fc4c4f02
mov al, byte [rsp + 0x61]
movsx ecx, al
cmp ecx, 0x5a
setle al
and al, 1
mov byte [rsp + 0x62], al
mov dword [rsp + 0x14], 0xf7fc9437
jmp 0x2fc4c4f02
mov al, byte [rsp + 0x62]
test al, 1
mov ecx, 0xa508d7d
mov edx, 0x4ebaeea1
cmovne edx, ecx
mov dword [rsp + 0x14], edx
jmp 0x2fc4c4f02
mov al, byte [rsp + 0x1d]
mov byte [rsp + 0x63], al
mov dword [rsp + 0x14], 0xf5911bcb
jmp 0x2fc4c4f02
mov al, byte [rsp + 0x63]
movsx ecx, al
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x14], 0x770a256d
jmp 0x2fc4c4f02
xor eax, eax
mov ecx, dword [rsp + 0x64]
add ecx, 0x3090358b
sub ecx, 0x41
sub ecx, 0x3090358b
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x61
add edx, ecx
sub eax, edx
mov dword [rsp + 0x14], 0x5e580b9a
mov dword [rsp + 0xc], eax
jmp 0x2fc4c4f02
mov al, byte [rsp + 0x1d]
mov byte [rsp + 0x6b], al
mov dword [rsp + 0x14], 0xc9adb8b7
jmp 0x2fc4c4f02
mov al, byte [rsp + 0x6b]
movsx ecx, al
mov dword [rsp + 0x6c], ecx
mov dword [rsp + 0x14], 0xf660f889
jmp 0x2fc4c4f02
mov dword [rsp + 0x14], 0x5e580b9a
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0xc], eax
jmp 0x2fc4c4f02
xor eax, eax
mov ecx, dword [rsp + 0xc]
mov edx, dword [rsp + 0x9c]
sub eax, ecx
add edx, eax
mov dword [rsp + 0x18], edx
mov dword [rsp + 0x14], 0x1e1876b0
jmp 0x2fc4c4f02
mov eax, dword [rsp + 0x18]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x14], 0x70ea7db4
jmp 0x2fc4c4f02
mov eax, dword [rsp + 0x70]
cmp eax, 0
sete cl
and cl, 1
mov byte [rsp + 0x77], cl
mov dword [rsp + 0x14], 0x28499b05
jmp 0x2fc4c4f02
mov al, byte [rsp + 0x77]
test al, 1
mov ecx, 0xa1939fed
mov edx, 0xe79a19f2
cmovne edx, ecx
mov dword [rsp + 0x14], edx
mov byte [rsp + 0xb], 0
jmp 0x2fc4c4f02
movzx eax, word [rsp + 0x1e]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x14], 0xef10ea1f
jmp 0x2fc4c4f02
mov eax, dword [rsp + 0x78]
cmp eax, 0
setne cl
and cl, 1
mov byte [rsp + 0x7f], cl
mov dword [rsp + 0x14], 0x722eac3f
jmp 0x2fc4c4f02
mov al, byte [rsp + 0x7f]
test al, 1
mov ecx, 0x21af787e
mov edx, 0xe79a19f2
cmovne edx, ecx
mov dword [rsp + 0x14], edx
mov byte [rsp + 0xb], 0
jmp 0x2fc4c4f02
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x14], 0x457bd84
jmp 0x2fc4c4f02
mov rax, qword [rsp + 0x80]
movabs rcx, 0x3d90592a31369895
sub rax, rcx
add rax, 0xffffffffffffffff
add rax, rcx
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x14], 0xfc3db2ee
jmp 0x2fc4c4f02
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x88]
cmp rax, 0
seta cl
mov dword [rsp + 0x14], 0xe79a19f2
and cl, 1
mov byte [rsp + 0xb], cl
jmp 0x2fc4c4f02
test byte [rsp + 0xb], 1
mov eax, 0xedbee4d0
mov ecx, 0x7bd14dde
cmovne ecx, eax
mov dword [rsp + 0x14], ecx
jmp 0x2fc4c4f02
mov eax, dword [rsp + 0x18]
mov dword [rsp + 0x94], eax
mov dword [rsp + 0x14], 0xb1265876
jmp 0x2fc4c4f02
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x14], 0xa0296ecb
jmp 0x2fc4c4f02
mov dword [rsp + 0x14], 0x5ec85758
jmp 0x2fc4c4f02
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x14], 0xde8d3d98
jmp 0x2fc4c4f02
mov eax, dword [rsp + 0x98]
add rsp, 0xa0
ret
jmp 0x2fc4c46d8