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

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r8
mov dword [rsp + 0x14], 0x5b2b459
mov eax, dword [rsp + 0x14]
mov ecx, eax
sub ecx, 0x833ddc49
mov dword [rsp + 4], eax
je 0x2fc4c46d8
jmp 0x2fc4c42b9
mov eax, dword [rsp + 4]
sub eax, 0x83abcb08
je 0x2fc4c469e
jmp 0x2fc4c42cd
mov eax, dword [rsp + 4]
sub eax, 0x860662da
je 0x2fc4c4760
jmp 0x2fc4c42e1
mov eax, dword [rsp + 4]
sub eax, 0x93569aa0
je 0x2fc4c4a96
jmp 0x2fc4c42f5
mov eax, dword [rsp + 4]
sub eax, 0xa115048e
je 0x2fc4c4960
jmp 0x2fc4c4309
mov eax, dword [rsp + 4]
sub eax, 0xa1509985
je 0x2fc4c492d
jmp 0x2fc4c431d
mov eax, dword [rsp + 4]
sub eax, 0xa662c1a4
je 0x2fc4c4ad3
jmp 0x2fc4c4331
mov eax, dword [rsp + 4]
sub eax, 0xaafc92e7
je 0x2fc4c465e
jmp 0x2fc4c4345
mov eax, dword [rsp + 4]
sub eax, 0xb1c8d1ed
je 0x2fc4c484d
jmp 0x2fc4c4359
mov eax, dword [rsp + 4]
sub eax, 0xb50afd5f
je 0x2fc4c4903
jmp 0x2fc4c436d
mov eax, dword [rsp + 4]
sub eax, 0xbf2c1829
je 0x2fc4c463c
jmp 0x2fc4c4381
mov eax, dword [rsp + 4]
sub eax, 0xc056a2c8
je 0x2fc4c466b
jmp 0x2fc4c4395
mov eax, dword [rsp + 4]
sub eax, 0xcf2d7d51
je 0x2fc4c482d
jmp 0x2fc4c43a9
mov eax, dword [rsp + 4]
sub eax, 0xd860111b
je 0x2fc4c47ef
jmp 0x2fc4c43bd
mov eax, dword [rsp + 4]
sub eax, 0xed710360
je 0x2fc4c4869
jmp 0x2fc4c43d1
mov eax, dword [rsp + 4]
sub eax, 0xee4b9aa0
je 0x2fc4c487e
jmp 0x2fc4c43e5
mov eax, dword [rsp + 4]
sub eax, 0x5b2b459
je 0x2fc4c4606
jmp 0x2fc4c43f9
mov eax, dword [rsp + 4]
sub eax, 0xa0d541b
je 0x2fc4c49fc
jmp 0x2fc4c440d
mov eax, dword [rsp + 4]
sub eax, 0xbbd25d3
je 0x2fc4c49e2
jmp 0x2fc4c4421
mov eax, dword [rsp + 4]
sub eax, 0xc53b23a
je 0x2fc4c4818
jmp 0x2fc4c4435
mov eax, dword [rsp + 4]
sub eax, 0xdffc85c
je 0x2fc4c470b
jmp 0x2fc4c4449
mov eax, dword [rsp + 4]
sub eax, 0xe07ab5e
je 0x2fc4c4a7e
jmp 0x2fc4c445d
mov eax, dword [rsp + 4]
sub eax, 0xf315cad
je 0x2fc4c4749
jmp 0x2fc4c4471
mov eax, dword [rsp + 4]
sub eax, 0x11481e75
je 0x2fc4c47da
jmp 0x2fc4c4485
mov eax, dword [rsp + 4]
sub eax, 0x18a4adbb
je 0x2fc4c4942
jmp 0x2fc4c4499
mov eax, dword [rsp + 4]
sub eax, 0x30fa1d86
je 0x2fc4c499a
jmp 0x2fc4c44ad
mov eax, dword [rsp + 4]
sub eax, 0x321abab7
je 0x2fc4c472d
jmp 0x2fc4c44c1
mov eax, dword [rsp + 4]
sub eax, 0x341d4c4a
je 0x2fc4c48ee
jmp 0x2fc4c44d5
mov eax, dword [rsp + 4]
sub eax, 0x3428d902
je 0x2fc4c47c1
jmp 0x2fc4c44e9
mov eax, dword [rsp + 4]
sub eax, 0x3b83b07e
je 0x2fc4c4788
jmp 0x2fc4c44fd
mov eax, dword [rsp + 4]
sub eax, 0x3cdea67b
je 0x2fc4c4abb
jmp 0x2fc4c4511
mov eax, dword [rsp + 4]
sub eax, 0x4088a868
je 0x2fc4c4aae
jmp 0x2fc4c4525
mov eax, dword [rsp + 4]
sub eax, 0x4300edc3
je 0x2fc4c4a40
jmp 0x2fc4c4539
mov eax, dword [rsp + 4]
sub eax, 0x4a7f5c56
je 0x2fc4c49be
jmp 0x2fc4c454d
mov eax, dword [rsp + 4]
sub eax, 0x4f9604fd
je 0x2fc4c48d6
jmp 0x2fc4c4561
mov eax, dword [rsp + 4]
sub eax, 0x6560253e
je 0x2fc4c4a63
jmp 0x2fc4c4575
mov eax, dword [rsp + 4]
sub eax, 0x6893b39e
je 0x2fc4c461d
jmp 0x2fc4c4589
mov eax, dword [rsp + 4]
sub eax, 0x6be17f51
je 0x2fc4c46f4
jmp 0x2fc4c459d
mov eax, dword [rsp + 4]
sub eax, 0x6d09be01
je 0x2fc4c4651
jmp 0x2fc4c45b1
mov eax, dword [rsp + 4]
sub eax, 0x7016f89a
je 0x2fc4c4981
jmp 0x2fc4c45c5
mov eax, dword [rsp + 4]
sub eax, 0x70442fb4
je 0x2fc4c47aa
jmp 0x2fc4c45d9
mov eax, dword [rsp + 4]
sub eax, 0x76eede11
je 0x2fc4c48c1
jmp 0x2fc4c45ed
mov eax, dword [rsp + 4]
sub eax, 0x77d92431
je 0x2fc4c489d
jmp 0x2fc4c4601
jmp 0x2fc4c4ae2
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x14], 0x6893b39e
jmp 0x2fc4c4ae2
mov rax, qword [rsp + 0x40]
cmp rax, 0
mov ecx, 0xbf2c1829
mov edx, 0xaafc92e7
cmove edx, ecx
mov dword [rsp + 0x14], edx
jmp 0x2fc4c4ae2
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x14], 0x6d09be01
jmp 0x2fc4c4ae2
mov dword [rsp + 0x14], 0x3cdea67b
jmp 0x2fc4c4ae2
mov dword [rsp + 0x14], 0xc056a2c8
jmp 0x2fc4c4ae2
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 qword [rsp + 0x48], rax
mov dword [rsp + 0x14], 0x83abcb08
jmp 0x2fc4c4ae2
mov rax, qword [rsp + 0x48]
add rax, 1
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x48]
mov cl, byte [rax]
mov byte [rsp + 0x1d], cl
movzx edx, word [rsp + 0x1e]
cmp edx, 0x41
setge cl
and cl, 1
mov byte [rsp + 0x55], cl
mov dword [rsp + 0x14], 0x833ddc49
jmp 0x2fc4c4ae2
mov al, byte [rsp + 0x55]
test al, 1
mov ecx, 0x6be17f51
mov edx, 0x70442fb4
cmovne edx, ecx
mov dword [rsp + 0x14], edx
jmp 0x2fc4c4ae2
mov ax, word [rsp + 0x1e]
mov word [rsp + 0x56], ax
mov dword [rsp + 0x14], 0xdffc85c
jmp 0x2fc4c4ae2
mov ax, word [rsp + 0x56]
movzx ecx, ax
cmp ecx, 0x5a
setle dl
and dl, 1
mov byte [rsp + 0x59], dl
mov dword [rsp + 0x14], 0x321abab7
jmp 0x2fc4c4ae2
mov al, byte [rsp + 0x59]
test al, 1
mov ecx, 0xf315cad
mov edx, 0x70442fb4
cmovne edx, ecx
mov dword [rsp + 0x14], edx
jmp 0x2fc4c4ae2
mov ax, word [rsp + 0x1e]
mov word [rsp + 0x5a], ax
mov dword [rsp + 0x14], 0x860662da
jmp 0x2fc4c4ae2
mov ax, word [rsp + 0x5a]
movzx ecx, ax
add ecx, 0x8c688372
sub ecx, 0x41
sub ecx, 0x8c688372
mov dword [rsp + 0x5c], ecx
mov dword [rsp + 0x14], 0x3b83b07e
jmp 0x2fc4c4ae2
mov eax, dword [rsp + 0x5c]
add eax, 0x901c0e2a
add eax, 0x61
sub eax, 0x901c0e2a
mov dword [rsp + 0x14], 0xd860111b
mov dword [rsp + 0x10], eax
jmp 0x2fc4c4ae2
mov ax, word [rsp + 0x1e]
mov word [rsp + 0x62], ax
mov dword [rsp + 0x14], 0x3428d902
jmp 0x2fc4c4ae2
mov ax, word [rsp + 0x62]
movzx ecx, ax
mov dword [rsp + 0x64], ecx
mov dword [rsp + 0x14], 0x11481e75
jmp 0x2fc4c4ae2
mov dword [rsp + 0x14], 0xd860111b
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x10], eax
jmp 0x2fc4c4ae2
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0xa4], eax
movsx eax, byte [rsp + 0x1d]
cmp eax, 0x41
mov eax, 0xc53b23a
mov ecx, 0x76eede11
cmovge ecx, eax
mov dword [rsp + 0x14], ecx
jmp 0x2fc4c4ae2
mov al, byte [rsp + 0x1d]
mov byte [rsp + 0x69], al
mov dword [rsp + 0x14], 0xcf2d7d51
jmp 0x2fc4c4ae2
mov al, byte [rsp + 0x69]
movsx ecx, al
cmp ecx, 0x5a
setle al
and al, 1
mov byte [rsp + 0x6a], al
mov dword [rsp + 0x14], 0xb1c8d1ed
jmp 0x2fc4c4ae2
mov al, byte [rsp + 0x6a]
test al, 1
mov ecx, 0xed710360
mov edx, 0x76eede11
cmovne edx, ecx
mov dword [rsp + 0x14], edx
jmp 0x2fc4c4ae2
mov al, byte [rsp + 0x1d]
mov byte [rsp + 0x6b], al
mov dword [rsp + 0x14], 0xee4b9aa0
jmp 0x2fc4c4ae2
xor eax, eax
mov cl, byte [rsp + 0x6b]
movsx edx, cl
sub eax, 0x41
add edx, eax
mov dword [rsp + 0x6c], edx
mov dword [rsp + 0x14], 0x77d92431
jmp 0x2fc4c4ae2
xor eax, eax
mov ecx, dword [rsp + 0x6c]
mov edx, eax
sub edx, ecx
mov ecx, eax
sub ecx, 0x61
add edx, ecx
sub eax, edx
mov dword [rsp + 0x14], 0xb50afd5f
mov dword [rsp + 0xc], eax
jmp 0x2fc4c4ae2
mov al, byte [rsp + 0x1d]
mov byte [rsp + 0x73], al
mov dword [rsp + 0x14], 0x4f9604fd
jmp 0x2fc4c4ae2
mov al, byte [rsp + 0x73]
movsx ecx, al
mov dword [rsp + 0x74], ecx
mov dword [rsp + 0x14], 0x341d4c4a
jmp 0x2fc4c4ae2
mov dword [rsp + 0x14], 0xb50afd5f
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0xc], eax
jmp 0x2fc4c4ae2
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 0xa4]
add ecx, 0xf814b339
sub ecx, eax
sub ecx, 0xf814b339
mov dword [rsp + 0x18], ecx
mov dword [rsp + 0x14], 0xa1509985
jmp 0x2fc4c4ae2
mov eax, dword [rsp + 0x18]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x14], 0x18a4adbb
jmp 0x2fc4c4ae2
mov eax, dword [rsp + 0x78]
cmp eax, 0
sete cl
and cl, 1
mov byte [rsp + 0x7f], cl
mov dword [rsp + 0x14], 0xa115048e
jmp 0x2fc4c4ae2
mov al, byte [rsp + 0x7f]
test al, 1
mov ecx, 0x7016f89a
mov edx, 0x6560253e
cmovne edx, ecx
mov dword [rsp + 0x14], edx
mov byte [rsp + 0xb], 0
jmp 0x2fc4c4ae2
movzx eax, word [rsp + 0x1e]
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x14], 0x30fa1d86
jmp 0x2fc4c4ae2
mov eax, dword [rsp + 0x80]
cmp eax, 0
setne cl
and cl, 1
mov byte [rsp + 0x87], cl
mov dword [rsp + 0x14], 0x4a7f5c56
jmp 0x2fc4c4ae2
mov al, byte [rsp + 0x87]
test al, 1
mov ecx, 0xbbd25d3
mov edx, 0x6560253e
cmovne edx, ecx
mov dword [rsp + 0x14], edx
mov byte [rsp + 0xb], 0
jmp 0x2fc4c4ae2
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x88], rax
mov dword [rsp + 0x14], 0xa0d541b
jmp 0x2fc4c4ae2
xor eax, eax
mov ecx, eax
mov rdx, qword [rsp + 0x88]
mov r8, rcx
sub r8, rdx
mov rdx, rcx
sub rdx, 0xffffffffffffffff
add r8, rdx
sub rcx, r8
mov qword [rsp + 0x90], rcx
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x14], 0x4300edc3
jmp 0x2fc4c4ae2
mov rax, qword [rsp + 0x90]
cmp rax, 0
seta cl
mov dword [rsp + 0x14], 0x6560253e
and cl, 1
mov byte [rsp + 0xb], cl
jmp 0x2fc4c4ae2
test byte [rsp + 0xb], 1
mov eax, 0xc056a2c8
mov ecx, 0xe07ab5e
cmovne ecx, eax
mov dword [rsp + 0x14], ecx
jmp 0x2fc4c4ae2
mov eax, dword [rsp + 0x18]
mov dword [rsp + 0x9c], eax
mov dword [rsp + 0x14], 0x93569aa0
jmp 0x2fc4c4ae2
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x14], 0x4088a868
jmp 0x2fc4c4ae2
mov dword [rsp + 0x14], 0x3cdea67b
jmp 0x2fc4c4ae2
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0x14], 0xa662c1a4
jmp 0x2fc4c4ae2
mov eax, dword [rsp + 0xa0]
add rsp, 0xa8
ret
jmp 0x2fc4c429e