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

Disassembly:
sub rsp, 0xc8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r8
mov dword [rsp + 0x14], 0x25f8e475
mov eax, dword [rsp + 0x14]
mov ecx, eax
sub ecx, 0x84bce5c6
mov dword [rsp + 4], eax
je 0x2fc4c4c7c
jmp 0x2fc4c4589
mov eax, dword [rsp + 4]
sub eax, 0x85bae882
je 0x2fc4c4cf7
jmp 0x2fc4c459d
mov eax, dword [rsp + 4]
sub eax, 0x86e8d9c4
je 0x2fc4c4c58
jmp 0x2fc4c45b1
mov eax, dword [rsp + 4]
sub eax, 0xa8b3f36f
je 0x2fc4c4b6a
jmp 0x2fc4c45c5
mov eax, dword [rsp + 4]
sub eax, 0xb4f65200
je 0x2fc4c4d75
jmp 0x2fc4c45d9
mov eax, dword [rsp + 4]
sub eax, 0xbeaaa540
je 0x2fc4c49ec
jmp 0x2fc4c45ed
mov eax, dword [rsp + 4]
sub eax, 0xc63f8bf3
je 0x2fc4c48ed
jmp 0x2fc4c4601
mov eax, dword [rsp + 4]
sub eax, 0xceaf590b
je 0x2fc4c493b
jmp 0x2fc4c4615
mov eax, dword [rsp + 4]
sub eax, 0xd1e1401c
je 0x2fc4c492e
jmp 0x2fc4c4629
mov eax, dword [rsp + 4]
sub eax, 0xdd0565bc
je 0x2fc4c4d5a
jmp 0x2fc4c463d
mov eax, dword [rsp + 4]
sub eax, 0xdf95f519
je 0x2fc4c49a0
jmp 0x2fc4c4651
mov eax, dword [rsp + 4]
sub eax, 0xe00c8310
je 0x2fc4c4d37
jmp 0x2fc4c4665
mov eax, dword [rsp + 4]
sub eax, 0xe27e158f
je 0x2fc4c4bbc
jmp 0x2fc4c4679
mov eax, dword [rsp + 4]
sub eax, 0xe4f9d5e4
je 0x2fc4c4ab0
jmp 0x2fc4c468d
mov eax, dword [rsp + 4]
sub eax, 0xf2d5bf5f
je 0x2fc4c4c34
jmp 0x2fc4c46a1
mov eax, dword [rsp + 4]
sub eax, 0x3c13496
je 0x2fc4c4cb9
jmp 0x2fc4c46b5
mov eax, dword [rsp + 4]
sub eax, 0xa070c39
je 0x2fc4c4da5
jmp 0x2fc4c46c9
mov eax, dword [rsp + 4]
sub eax, 0xa3df330
je 0x2fc4c4a0a
jmp 0x2fc4c46dd
mov eax, dword [rsp + 4]
sub eax, 0xe775681
je 0x2fc4c4dca
jmp 0x2fc4c46f1
mov eax, dword [rsp + 4]
sub eax, 0x123de471
je 0x2fc4c4962
jmp 0x2fc4c4705
mov eax, dword [rsp + 4]
sub eax, 0x14eeb019
je 0x2fc4c4db2
jmp 0x2fc4c4719
mov eax, dword [rsp + 4]
sub eax, 0x1747e6d7
je 0x2fc4c4921
jmp 0x2fc4c472d
mov eax, dword [rsp + 4]
sub eax, 0x1818d00b
je 0x2fc4c4b44
jmp 0x2fc4c4741
mov eax, dword [rsp + 4]
sub eax, 0x1a6ff687
je 0x2fc4c4bf2
jmp 0x2fc4c4755
mov eax, dword [rsp + 4]
sub eax, 0x1ba4dd13
je 0x2fc4c4ba4
jmp 0x2fc4c4769
mov eax, dword [rsp + 4]
sub eax, 0x2561a60d
je 0x2fc4c4cdd
jmp 0x2fc4c477d
mov eax, dword [rsp + 4]
sub eax, 0x25f8e475
je 0x2fc4c48d6
jmp 0x2fc4c4791
mov eax, dword [rsp + 4]
sub eax, 0x2aa0051d
je 0x2fc4c4a97
jmp 0x2fc4c47a5
mov eax, dword [rsp + 4]
sub eax, 0x2c35edc3
je 0x2fc4c4ac5
jmp 0x2fc4c47b9
mov eax, dword [rsp + 4]
sub eax, 0x315bb873
je 0x2fc4c4a26
jmp 0x2fc4c47cd
mov eax, dword [rsp + 4]
sub eax, 0x31fc6ddf
je 0x2fc4c4d8d
jmp 0x2fc4c47e1
mov eax, dword [rsp + 4]
sub eax, 0x36202014
je 0x2fc4c4c95
jmp 0x2fc4c47f5
mov eax, dword [rsp + 4]
sub eax, 0x43112ad0
je 0x2fc4c4a80
jmp 0x2fc4c4809
mov eax, dword [rsp + 4]
sub eax, 0x436a749e
je 0x2fc4c4b06
jmp 0x2fc4c481d
mov eax, dword [rsp + 4]
sub eax, 0x49a9360c
je 0x2fc4c49d6
jmp 0x2fc4c4831
mov eax, dword [rsp + 4]
sub eax, 0x4b67fddd
je 0x2fc4c4bda
jmp 0x2fc4c4845
mov eax, dword [rsp + 4]
sub eax, 0x4f70fb95
je 0x2fc4c4c1c
jmp 0x2fc4c4859
mov eax, dword [rsp + 4]
sub eax, 0x564affc6
je 0x2fc4c4b8c
jmp 0x2fc4c486d
mov eax, dword [rsp + 4]
sub eax, 0x58eec996
je 0x2fc4c4b24
jmp 0x2fc4c4881
mov eax, dword [rsp + 4]
sub eax, 0x6c96224d
je 0x2fc4c4a6b
jmp 0x2fc4c4895
mov eax, dword [rsp + 4]
sub eax, 0x70b9a0f2
je 0x2fc4c4a3c
jmp 0x2fc4c48a9
mov eax, dword [rsp + 4]
sub eax, 0x755a9043
je 0x2fc4c490c
jmp 0x2fc4c48bd
mov eax, dword [rsp + 4]
sub eax, 0x7dfb7242
je 0x2fc4c4aee
jmp 0x2fc4c48d1
jmp 0x2fc4c4dd9
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x14], 0xc63f8bf3
jmp 0x2fc4c4dd9
mov rax, qword [rsp + 0x40]
cmp rax, 0
mov ecx, 0x755a9043
mov edx, 0xd1e1401c
cmove edx, ecx
mov dword [rsp + 0x14], edx
jmp 0x2fc4c4dd9
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x14], 0x1747e6d7
jmp 0x2fc4c4dd9
mov dword [rsp + 0x14], 0x14eeb019
jmp 0x2fc4c4dd9
mov dword [rsp + 0x14], 0xceaf590b
jmp 0x2fc4c4dd9
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
add rax, 2
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x14], 0x123de471
jmp 0x2fc4c4dd9
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x48]
mov cx, word [rax]
mov word [rsp + 0x1e], cx
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
add rax, 1
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x14], 0xdf95f519
jmp 0x2fc4c4dd9
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x58]
mov cl, byte [rax]
mov byte [rsp + 0x1d], cl
movzx edx, word [rsp + 0x1e]
cmp edx, 0x41
mov edx, 0x49a9360c
mov r8d, 0x43112ad0
cmovge r8d, edx
mov dword [rsp + 0x14], r8d
jmp 0x2fc4c4dd9
movzx eax, word [rsp + 0x1e]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x14], 0xbeaaa540
jmp 0x2fc4c4dd9
mov eax, dword [rsp + 0x68]
cmp eax, 0x5a
setle cl
and cl, 1
mov byte [rsp + 0x6f], cl
mov dword [rsp + 0x14], 0xa3df330
jmp 0x2fc4c4dd9
mov al, byte [rsp + 0x6f]
test al, 1
mov ecx, 0x315bb873
mov edx, 0x43112ad0
cmovne edx, ecx
mov dword [rsp + 0x14], edx
jmp 0x2fc4c4dd9
movzx eax, word [rsp + 0x1e]
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x14], 0x70b9a0f2
jmp 0x2fc4c4dd9
mov eax, dword [rsp + 0x70]
sub eax, 0x67c6358b
sub eax, 0x41
add eax, 0x67c6358b
sub eax, 0xd2552a87
add eax, 0x61
add eax, 0xd2552a87
mov dword [rsp + 0x74], eax
mov dword [rsp + 0x14], 0x6c96224d
jmp 0x2fc4c4dd9
mov dword [rsp + 0x14], 0x2c35edc3
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x10], eax
jmp 0x2fc4c4dd9
mov ax, word [rsp + 0x1e]
mov word [rsp + 0x7a], ax
mov dword [rsp + 0x14], 0x2aa0051d
jmp 0x2fc4c4dd9
mov ax, word [rsp + 0x7a]
movzx ecx, ax
mov dword [rsp + 0x7c], ecx
mov dword [rsp + 0x14], 0xe4f9d5e4
jmp 0x2fc4c4dd9
mov dword [rsp + 0x14], 0x2c35edc3
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x10], eax
jmp 0x2fc4c4dd9
mov eax, dword [rsp + 0x10]
mov dword [rsp + 0xc4], eax
movsx eax, byte [rsp + 0x1d]
cmp eax, 0x41
mov eax, 0x7dfb7242
mov ecx, 0x1ba4dd13
cmovge ecx, eax
mov dword [rsp + 0x14], ecx
jmp 0x2fc4c4dd9
mov al, byte [rsp + 0x1d]
mov byte [rsp + 0x83], al
mov dword [rsp + 0x14], 0x436a749e
jmp 0x2fc4c4dd9
mov al, byte [rsp + 0x83]
movsx ecx, al
mov dword [rsp + 0x84], ecx
mov dword [rsp + 0x14], 0x58eec996
jmp 0x2fc4c4dd9
mov eax, dword [rsp + 0x84]
cmp eax, 0x5a
mov eax, 0x1818d00b
mov ecx, 0x1ba4dd13
cmovle ecx, eax
mov dword [rsp + 0x14], ecx
jmp 0x2fc4c4dd9
movsx eax, byte [rsp + 0x1d]
add eax, 0x8fdb6a41
sub eax, 0x41
sub eax, 0x8fdb6a41
mov dword [rsp + 0x88], eax
mov dword [rsp + 0x14], 0xa8b3f36f
jmp 0x2fc4c4dd9
xor eax, eax
mov ecx, dword [rsp + 0x88]
sub eax, 0x61
sub ecx, eax
mov dword [rsp + 0x8c], ecx
mov dword [rsp + 0x14], 0x564affc6
jmp 0x2fc4c4dd9
mov dword [rsp + 0x14], 0x1a6ff687
mov eax, dword [rsp + 0x8c]
mov dword [rsp + 0xc], eax
jmp 0x2fc4c4dd9
mov al, byte [rsp + 0x1d]
mov byte [rsp + 0x93], al
mov dword [rsp + 0x14], 0xe27e158f
jmp 0x2fc4c4dd9
mov al, byte [rsp + 0x93]
movsx ecx, al
mov dword [rsp + 0x94], ecx
mov dword [rsp + 0x14], 0x4b67fddd
jmp 0x2fc4c4dd9
mov dword [rsp + 0x14], 0x1a6ff687
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0xc], eax
jmp 0x2fc4c4dd9
mov eax, dword [rsp + 0xc]
mov ecx, dword [rsp + 0xc4]
add ecx, 0xcc4c57e3
sub ecx, eax
sub ecx, 0xcc4c57e3
mov dword [rsp + 0x18], ecx
mov dword [rsp + 0x14], 0x4f70fb95
jmp 0x2fc4c4dd9
mov eax, dword [rsp + 0x18]
mov dword [rsp + 0x98], eax
mov dword [rsp + 0x14], 0xf2d5bf5f
jmp 0x2fc4c4dd9
mov eax, dword [rsp + 0x98]
cmp eax, 0
sete cl
and cl, 1
mov byte [rsp + 0x9f], cl
mov dword [rsp + 0x14], 0x86e8d9c4
jmp 0x2fc4c4dd9
mov al, byte [rsp + 0x9f]
test al, 1
mov ecx, 0x84bce5c6
mov edx, 0xdd0565bc
cmovne edx, ecx
mov dword [rsp + 0x14], edx
mov byte [rsp + 0xb], 0
jmp 0x2fc4c4dd9
movzx eax, word [rsp + 0x1e]
mov dword [rsp + 0xa0], eax
mov dword [rsp + 0x14], 0x36202014
jmp 0x2fc4c4dd9
mov eax, dword [rsp + 0xa0]
cmp eax, 0
setne cl
and cl, 1
mov byte [rsp + 0xa7], cl
mov dword [rsp + 0x14], 0x3c13496
jmp 0x2fc4c4dd9
mov al, byte [rsp + 0xa7]
test al, 1
mov ecx, 0x2561a60d
mov edx, 0xdd0565bc
cmovne edx, ecx
mov dword [rsp + 0x14], edx
mov byte [rsp + 0xb], 0
jmp 0x2fc4c4dd9
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x14], 0x85bae882
jmp 0x2fc4c4dd9
mov rax, qword [rsp + 0xa8]
movabs rcx, 0x365fa2bbffb49ad9
add rax, rcx
add rax, 0xffffffffffffffff
sub rax, rcx
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x14], 0xe00c8310
jmp 0x2fc4c4dd9
mov rax, qword [rsp + 0xb0]
cmp rax, 0
seta cl
mov dword [rsp + 0x14], 0xdd0565bc
and cl, 1
mov byte [rsp + 0xb], cl
jmp 0x2fc4c4dd9
test byte [rsp + 0xb], 1
mov eax, 0xceaf590b
mov ecx, 0xb4f65200
cmovne ecx, eax
mov dword [rsp + 0x14], ecx
jmp 0x2fc4c4dd9
mov eax, dword [rsp + 0x18]
mov dword [rsp + 0xbc], eax
mov dword [rsp + 0x14], 0x31fc6ddf
jmp 0x2fc4c4dd9
mov eax, dword [rsp + 0xbc]
mov dword [rsp + 0x3c], eax
mov dword [rsp + 0x14], 0xa070c39
jmp 0x2fc4c4dd9
mov dword [rsp + 0x14], 0x14eeb019
jmp 0x2fc4c4dd9
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0x14], 0xe775681
jmp 0x2fc4c4dd9
mov eax, dword [rsp + 0xc0]
add rsp, 0xc8
ret
jmp 0x2fc4c456e