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

Disassembly:
push 0xffffffffffffffff
push 0x100a3d57
mov eax, dword fs:[0]
push eax
sub esp, 0x10c
mov eax, dword [0x100c66d0]
xor eax, esp
mov dword [esp + 0x108], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x100c66d0]
xor eax, esp
push eax
lea eax, [esp + 0x120]
mov dword fs:[0], eax
mov edi, ecx
mov ebp, dword [edi + 0x64]
mov ecx, dword [edi + 0x60]
lea esi, [edi + 0x64]
cmp ebp, ecx
jne 0x1009886d
push 0x27
xor ebx, ebx
mov ebp, 0xf
push str.Escape_sequence_terminated_prematurely.
lea ecx, [esp + 0x44]
mov dword [esp + 0x58], ebp
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.10005990
mov esi, dword [esi]
sub esi, dword [edi + 0x5c]
lea eax, [esp + 0x3c]
push esi
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x34], esp
push 0xffffffffffffffff
push ebx
mov dword [ecx + 0x14], ebp
mov dword [ecx + 0x10], ebx
push eax
mov dword [esp + 0x154], ebx
mov byte [ecx], bl
call fcn.100058a0
push esi
push 5
mov ecx, edi
call fcn.1008f160
cmp dword [esp + 0x50], 0x10
jb 0x10098866
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.1003d468
add esp, 4
xor al, al
jmp 0x10098e68
mov dl, byte [ebp]
mov ebx, dword [edi + 4]
mov eax, dword [ebx]
mov byte [esp + 0x1b], dl
movzx edx, dl
movzx eax, byte [edx + eax + 4]
add eax, 0xffffffef
cmp eax, 0x27
ja case.0x10098894.19
movzx eax, byte [eax + 0x10098ec4]
jmp dword [eax*4 + 0x10098e90]
mov al, 7
jmp 0x10098e66
mov al, 0x1b
jmp 0x10098e66
mov al, 0xc
jmp 0x10098e66
mov al, 0xa
jmp 0x10098e66
mov al, 0xd
jmp 0x10098e66
mov al, 9
jmp 0x10098e66
mov al, 0xb
jmp 0x10098e66
mov al, 8
jmp 0x10098e66
lea eax, [ebp + 1]
mov dword [esi], eax
cmp eax, ecx
jne 0x1009893e
dec eax
mov dword [esi], eax
movzx ecx, byte [eax]
mov ebx, dword [ebx]
mov bl, byte [ecx + ebx + 4]
mov dl, 0xc
cmp bl, dl
je 0x10098901
mov edi, edi
dec eax
mov dword [esi], eax
mov ecx, dword [edi + 4]
movzx ebx, byte [eax]
mov ecx, dword [ecx]
cmp byte [ebx + ecx + 4], dl
jne 0x100988f0
push str.ASCII_escape_sequence_terminated_prematurely.
lea ecx, [esp + 0x5c]
call fcn.10003d80
mov eax, dword [esi]
sub eax, dword [edi + 0x5c]
lea edx, [esp + 0x58]
push edx
push eax
push 5
mov ecx, edi
mov dword [esp + 0x134], 1
call fcn.1008fbe0
lea ecx, [esp + 0x58]
call fcn.1008e670
xor al, al
jmp 0x10098e68
movsx eax, byte [eax]
and eax, 0x8000001f
jns 0x10098e66
dec eax
or eax, 0xffffffe0
inc eax
jmp 0x10098e66
lea eax, [ebp + 1]
mov dword [esi], eax
cmp eax, ecx
jne 0x100989c8
dec eax
mov dword [esi], eax
movzx edx, byte [eax]
mov ebx, dword [ebx]
mov bl, byte [edx + ebx + 4]
mov dl, 0xc
cmp bl, dl
je 0x10098982
dec eax
mov dword [esi], eax
mov ecx, dword [edi + 4]
movzx ebx, byte [eax]
mov ecx, dword [ecx]
cmp byte [ebx + ecx + 4], dl
jne 0x10098971
push str.Hexadecimal_escape_sequence_terminated_prematurely.
lea ecx, [esp + 0xe8]
call fcn.10003d80
mov ecx, dword [esi]
sub ecx, dword [edi + 0x5c]
lea eax, [esp + 0xe4]
push eax
push ecx
push 5
mov ecx, edi
mov dword [esp + 0x134], 2
call fcn.1008fbe0
lea ecx, [esp + 0xe4]
call fcn.1008e670
xor al, al
jmp 0x10098e68
movzx ebp, byte [eax]
mov edx, dword [ebx]
cmp byte [edx + ebp + 4], 0xf
jne 0x10098ae3
inc eax
mov dword [esi], eax
cmp eax, ecx
jne 0x10098a48
dec eax
mov dword [esi], eax
movzx edx, byte [eax]
mov ebx, dword [ebx]
mov bl, byte [edx + ebx + 4]
mov dl, 0xc
cmp bl, dl
je 0x10098a02
dec eax
mov dword [esi], eax
mov ecx, dword [edi + 4]
movzx ebx, byte [eax]
mov ecx, dword [ecx]
cmp byte [ebx + ecx + 4], dl
jne 0x100989f1
push str.Missing__in_hexadecimal_escape_sequence.
lea ecx, [esp + 0xb0]
call fcn.10003d80
mov ecx, dword [esi]
sub ecx, dword [edi + 0x5c]
lea eax, [esp + 0xac]
push eax
push ecx
push 5
mov ecx, edi
mov dword [esp + 0x134], 3
call fcn.1008fbe0
lea ecx, [esp + 0xac]
call fcn.1008e670
xor al, al
jmp 0x10098e68
push ebx
push 0x10
push ecx
push esi
call fcn.100143b0
mov ecx, dword [esi]
add esp, 0x10
cmp ecx, dword [edi + 0x60]
je 0x10098a7e
test edx, edx
ja 0x10098a7e
jb 0x10098a67
cmp eax, 0x7f
ja 0x10098a7e
mov edx, dword [edi + 4]
movzx ebx, byte [ecx]
mov edx, dword [edx]
cmp byte [ebx + edx + 4], 0x10
jne 0x10098a7e
inc ecx
mov dword [esi], ecx
jmp 0x10098e68
lea eax, [ecx - 1]
mov ecx, dword [edi + 4]
mov dword [esi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
mov cl, byte [edx + ecx + 4]
mov dl, 0xc
cmp cl, dl
je 0x10098aa6
dec eax
mov dword [esi], eax
mov ecx, dword [edi + 4]
movzx ebx, byte [eax]
mov ecx, dword [ecx]
cmp byte [ebx + ecx + 4], dl
jne 0x10098a95
push str.Hexadecimal_escape_sequence_was_invalid.
lea ecx, [esp + 0x78]
call fcn.10003d80
mov ecx, dword [esi]
sub ecx, dword [edi + 0x5c]
lea eax, [esp + 0x74]
push eax
push ecx
push 0xa
mov ecx, edi
mov dword [esp + 0x134], 4
call fcn.1008fbe0
lea ecx, [esp + 0x74]
call fcn.1008e670
xor al, al
jmp 0x10098e68
sub ecx, eax
mov dword [esp + 0x1c], ecx
cmp ecx, 2
mov dword [esp + 0x14], 2
lea ecx, [esp + 0x1c]
jl 0x10098afe
lea ecx, [esp + 0x14]
mov ecx, dword [ecx]
push ebx
add eax, ecx
push 0x10
push eax
push esi
call fcn.100143b0
add esp, 0x10
mov ebx, eax
test edx, edx
jl 0x10098b2f
jg 0x10098b1b
test ebx, ebx
jb 0x10098b2f
push edx
push ebx
push 0
call fcn.1008b6e0
add esp, 0xc
test al, al
jne 0x10098e0e
dec dword [esi]
mov eax, dword [esi]
movzx edx, byte [eax]
mov ecx, dword [edi + 4]
mov ecx, dword [ecx]
mov cl, byte [edx + ecx + 4]
mov dl, 0xc
cmp cl, dl
je 0x10098b56
dec eax
mov dword [esi], eax
mov ecx, dword [edi + 4]
movzx ebx, byte [eax]
mov ecx, dword [ecx]
cmp byte [ebx + ecx + 4], dl
jne 0x10098b45
push str.Escape_sequence_did_not_encode_a_valid_character.
lea ecx, [esp + 0x94]
call fcn.10003d80
mov ecx, dword [esi]
sub ecx, dword [edi + 0x5c]
lea eax, [esp + 0x90]
push eax
push ecx
push 5
mov ecx, edi
mov dword [esp + 0x134], 5
call fcn.1008fbe0
lea ecx, [esp + 0x90]
call fcn.1008e670
xor al, al
jmp 0x10098e68
sub ecx, ebp
mov dword [esp + 0x14], 4
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x14]
cmp ecx, 4
jg 0x10098bb7
lea eax, [esp + 0x1c]
mov edx, dword [eax]
mov eax, ebp
push ebx
mov dword [esp + 0x18], eax
inc eax
push 8
push eax
lea eax, [esp + 0x20]
push eax
mov dword [esp + 0x2c], edx
call fcn.100143b0
add esp, 0x10
or eax, edx
je 0x10098c47
lea eax, [ebp - 1]
mov dword [esi], eax
movzx ecx, byte [eax]
mov ebx, dword [ebx]
mov bl, byte [ecx + ebx + 4]
mov dl, 0xc
cmp bl, dl
je 0x10098c01
lea ecx, [ecx]
dec eax
mov dword [esi], eax
mov ecx, dword [edi + 4]
movzx ebx, byte [eax]
mov ecx, dword [ecx]
cmp byte [ebx + ecx + 4], dl
jne 0x10098bf0
push str.Invalid_octal_escape_sequence.
lea ecx, [esp + 0xcc]
call fcn.10003d80
mov eax, dword [esi]
sub eax, dword [edi + 0x5c]
lea edx, [esp + 0xc8]
push edx
push eax
push 5
mov ecx, edi
mov dword [esp + 0x134], 6
call fcn.1008fbe0
lea ecx, [esp + 0xc8]
call fcn.1008e670
xor al, al
jmp 0x10098e68
mov eax, dword [esp + 0x1c]
push ebx
add eax, ebp
push 8
push eax
push esi
call fcn.100143b0
add esp, 0x10
test edx, edx
ja 0x10098c6d
jb 0x10098e68
cmp eax, 0x7f
jbe 0x10098e68
dec dword [esi]
mov eax, dword [esi]
movzx edx, byte [eax]
mov ecx, dword [edi + 4]
mov ecx, dword [ecx]
mov cl, byte [edx + ecx + 4]
mov dl, 0xc
cmp cl, dl
je 0x10098c94
dec eax
mov dword [esi], eax
mov ecx, dword [edi + 4]
movzx ebx, byte [eax]
mov ecx, dword [ecx]
cmp byte [ebx + ecx + 4], dl
jne 0x10098c83
push str.Octal_escape_sequence_is_invalid.
lea ecx, [esp + 0x104]
call fcn.10003d80
mov ecx, dword [esi]
sub ecx, dword [edi + 0x5c]
lea eax, [esp + 0x100]
push eax
push ecx
push 5
mov ecx, edi
mov dword [esp + 0x134], 7
call fcn.1008fbe0
lea ecx, [esp + 0x100]
call fcn.1008e670
xor al, al
jmp 0x10098e68
lea eax, [ebp + 1]
mov dword [esi], eax
cmp eax, ecx
jne 0x10098d1a
dec eax
mov dword [esi], eax
movzx ecx, byte [eax]
mov ebx, dword [ebx]
mov dl, 0xc
cmp byte [ecx + ebx + 4], dl
je 0x10098d04
dec eax
mov dword [esi], eax
movzx ecx, byte [eax]
mov ebx, dword [edi + 4]
mov ebx, dword [ebx]
cmp byte [ecx + ebx + 4], dl
jne 0x10098cf3
mov edx, dword [esi]
sub edx, dword [edi + 0x5c]
mov ecx, edi
push edx
push 5
call fcn.10091530
xor al, al
jmp 0x10098e68
movzx edx, byte [eax]
mov ebp, dword [ebx]
mov dl, byte [edx + ebp + 4]
cmp dl, 0xf
jne 0x10098e26
mov dword [esp + 0x14], eax
movzx ebp, byte [eax]
mov edx, dword [ebx]
cmp byte [edx + ebp + 4], 0x10
je 0x10098d45
inc eax
mov edx, eax
mov dword [esi], eax
cmp edx, ecx
jne 0x10098d30
mov eax, dword [esi]
cmp eax, ecx
jne 0x10098d85
dec eax
mov dword [esi], eax
movzx ecx, byte [eax]
mov ebx, dword [ebx]
mov dl, 0xc
cmp byte [ecx + ebx + 4], dl
je 0x10098d71
jmp 0x10098d60
dec eax
mov dword [esi], eax
movzx ecx, byte [eax]
mov ebx, dword [edi + 4]
mov ebx, dword [ebx]
cmp byte [ecx + ebx + 4], dl
jne 0x10098d60
sub eax, dword [edi + 0x5c]
mov ecx, edi
push eax
push 5
call fcn.10091530
xor al, al
jmp 0x10098e68
mov ecx, dword [esp + 0x14]
push eax
inc ecx
lea edx, [eax + 1]
push ecx
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
mov dword [esi], edx
call fcn.10095470
mov eax, dword [esp + 0x30]
mov dword [esp + 0x128], 8
test eax, eax
jne 0x10098def
dec dword [esi]
mov eax, dword [esi]
mov edx, dword [edi + 4]
movzx ecx, byte [eax]
mov ebx, dword [edx]
mov dl, 0xc
cmp byte [ecx + ebx + 4], dl
je 0x10098dd5
dec eax
mov dword [esi], eax
movzx ecx, byte [eax]
mov ebx, dword [edi + 4]
mov ebx, dword [ebx]
cmp byte [ecx + ebx + 4], dl
jne 0x10098dc4
sub eax, dword [edi + 0x5c]
mov ecx, edi
push eax
push 3
call fcn.10091530
lea ecx, [esp + 0x20]
call fcn.1008e670
xor al, al
jmp 0x10098e68
cmp eax, 1
jne 0x10098e12
cmp dword [esp + 0x34], 0x10
mov eax, dword [esp + 0x20]
jae 0x10098e03
lea eax, [esp + 0x20]
mov bl, byte [eax]
lea ecx, [esp + 0x20]
call fcn.1008e670
mov al, bl
jmp 0x10098e68
lea ecx, [esp + 0x20]
mov dword [esp + 0x128], 0xffffffff
call fcn.1008e670
dec dword [esi]
mov eax, dword [esi]
mov edx, dword [edi + 4]
movzx ecx, byte [eax]
mov ebx, dword [edx]
mov dl, 0xc
cmp byte [ecx + ebx + 4], dl
je 0x10098e51
lea ebx, [ebx]
dec eax
mov dword [esi], eax
movzx ecx, byte [eax]
mov ebx, dword [edi + 4]
mov ebx, dword [ebx]
cmp byte [ecx + ebx + 4], dl
jne 0x10098e40
sub eax, dword [edi + 0x5c]
mov ecx, edi
push eax
push 5
call fcn.10091530
xor al, al
jmp 0x10098e68
mov al, byte [esp + 0x1b]
inc dword [esi]
mov ecx, dword [esp + 0x120]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x108]
xor ecx, esp
call fcn.1003c5b5
add esp, 0x118
ret