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

Disassembly:
push 0xffffffffffffffff
push 0x10105337
mov eax, dword fs:[0]
push eax
sub esp, 0x10c
mov eax, dword [0x10137920]
xor eax, esp
mov dword [esp + 0x108], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10137920]
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 0x100fa6ed
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.10004560
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.10004180
push esi
push 5
mov ecx, edi
call fcn.100f10e0
cmp dword [esp + 0x50], 0x10
jb 0x100fa6e6
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.10065453
add esp, 4
xor al, al
jmp 0x100face8
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.0x100fa714.19
movzx eax, byte [eax + 0x100fad44]
jmp dword [eax*4 + 0x100fad10]
mov al, 7
jmp 0x100face6
mov al, 0x1b
jmp 0x100face6
mov al, 0xc
jmp 0x100face6
mov al, 0xa
jmp 0x100face6
mov al, 0xd
jmp 0x100face6
mov al, 9
jmp 0x100face6
mov al, 0xb
jmp 0x100face6
mov al, 8
jmp 0x100face6
lea eax, [ebp + 1]
mov dword [esi], eax
cmp eax, ecx
jne 0x100fa7be
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 0x100fa781
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 0x100fa770
push str.ASCII_escape_sequence_terminated_prematurely.
lea ecx, [esp + 0x5c]
call fcn.10004660
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.100f1ac0
lea ecx, [esp + 0x58]
call fcn.100f0520
xor al, al
jmp 0x100face8
movsx eax, byte [eax]
and eax, 0x8000001f
jns 0x100face6
dec eax
or eax, 0xffffffe0
inc eax
jmp 0x100face6
lea eax, [ebp + 1]
mov dword [esi], eax
cmp eax, ecx
jne 0x100fa848
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 0x100fa802
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 0x100fa7f1
push str.Hexadecimal_escape_sequence_terminated_prematurely.
lea ecx, [esp + 0xe8]
call fcn.10004660
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.100f1ac0
lea ecx, [esp + 0xe4]
call fcn.100f0520
xor al, al
jmp 0x100face8
movzx ebp, byte [eax]
mov edx, dword [ebx]
cmp byte [edx + ebp + 4], 0xf
jne 0x100fa963
inc eax
mov dword [esi], eax
cmp eax, ecx
jne 0x100fa8c8
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 0x100fa882
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 0x100fa871
push str.Missing__in_hexadecimal_escape_sequence.
lea ecx, [esp + 0xb0]
call fcn.10004660
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.100f1ac0
lea ecx, [esp + 0xac]
call fcn.100f0520
xor al, al
jmp 0x100face8
push ebx
push 0x10
push ecx
push esi
call fcn.10052eb0
mov ecx, dword [esi]
add esp, 0x10
cmp ecx, dword [edi + 0x60]
je 0x100fa8fe
test edx, edx
ja 0x100fa8fe
jb 0x100fa8e7
cmp eax, 0x7f
ja 0x100fa8fe
mov edx, dword [edi + 4]
movzx ebx, byte [ecx]
mov edx, dword [edx]
cmp byte [ebx + edx + 4], 0x10
jne 0x100fa8fe
inc ecx
mov dword [esi], ecx
jmp 0x100face8
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 0x100fa926
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 0x100fa915
push str.Hexadecimal_escape_sequence_was_invalid.
lea ecx, [esp + 0x78]
call fcn.10004660
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.100f1ac0
lea ecx, [esp + 0x74]
call fcn.100f0520
xor al, al
jmp 0x100face8
sub ecx, eax
mov dword [esp + 0x1c], ecx
cmp ecx, 2
mov dword [esp + 0x14], 2
lea ecx, [esp + 0x1c]
jl 0x100fa97e
lea ecx, [esp + 0x14]
mov ecx, dword [ecx]
push ebx
add eax, ecx
push 0x10
push eax
push esi
call fcn.10052eb0
add esp, 0x10
mov ebx, eax
test edx, edx
jl 0x100fa9af
jg 0x100fa99b
test ebx, ebx
jb 0x100fa9af
push edx
push ebx
push 0
call fcn.100ed5d0
add esp, 0xc
test al, al
jne 0x100fac8e
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 0x100fa9d6
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 0x100fa9c5
push str.Escape_sequence_did_not_encode_a_valid_character.
lea ecx, [esp + 0x94]
call fcn.10004660
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.100f1ac0
lea ecx, [esp + 0x90]
call fcn.100f0520
xor al, al
jmp 0x100face8
sub ecx, ebp
mov dword [esp + 0x14], 4
mov dword [esp + 0x1c], ecx
lea eax, [esp + 0x14]
cmp ecx, 4
jg 0x100faa37
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.10052eb0
add esp, 0x10
or eax, edx
je 0x100faac7
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 0x100faa81
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 0x100faa70
push str.Invalid_octal_escape_sequence.
lea ecx, [esp + 0xcc]
call fcn.10004660
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.100f1ac0
lea ecx, [esp + 0xc8]
call fcn.100f0520
xor al, al
jmp 0x100face8
mov eax, dword [esp + 0x1c]
push ebx
add eax, ebp
push 8
push eax
push esi
call fcn.10052eb0
add esp, 0x10
test edx, edx
ja 0x100faaed
jb 0x100face8
cmp eax, 0x7f
jbe 0x100face8
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 0x100fab14
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 0x100fab03
push str.Octal_escape_sequence_is_invalid.
lea ecx, [esp + 0x104]
call fcn.10004660
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.100f1ac0
lea ecx, [esp + 0x100]
call fcn.100f0520
xor al, al
jmp 0x100face8
lea eax, [ebp + 1]
mov dword [esi], eax
cmp eax, ecx
jne 0x100fab9a
dec eax
mov dword [esi], eax
movzx ecx, byte [eax]
mov ebx, dword [ebx]
mov dl, 0xc
cmp byte [ecx + ebx + 4], dl
je 0x100fab84
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 0x100fab73
mov edx, dword [esi]
sub edx, dword [edi + 0x5c]
mov ecx, edi
push edx
push 5
call fcn.100f33b0
xor al, al
jmp 0x100face8
movzx edx, byte [eax]
mov ebp, dword [ebx]
mov dl, byte [edx + ebp + 4]
cmp dl, 0xf
jne 0x100faca6
mov dword [esp + 0x14], eax
movzx ebp, byte [eax]
mov edx, dword [ebx]
cmp byte [edx + ebp + 4], 0x10
je 0x100fabc5
inc eax
mov edx, eax
mov dword [esi], eax
cmp edx, ecx
jne 0x100fabb0
mov eax, dword [esi]
cmp eax, ecx
jne 0x100fac05
dec eax
mov dword [esi], eax
movzx ecx, byte [eax]
mov ebx, dword [ebx]
mov dl, 0xc
cmp byte [ecx + ebx + 4], dl
je 0x100fabf1
jmp 0x100fabe0
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 0x100fabe0
sub eax, dword [edi + 0x5c]
mov ecx, edi
push eax
push 5
call fcn.100f33b0
xor al, al
jmp 0x100face8
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.100f72f0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x128], 8
test eax, eax
jne 0x100fac6f
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 0x100fac55
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 0x100fac44
sub eax, dword [edi + 0x5c]
mov ecx, edi
push eax
push 3
call fcn.100f33b0
lea ecx, [esp + 0x20]
call fcn.100f0520
xor al, al
jmp 0x100face8
cmp eax, 1
jne 0x100fac92
cmp dword [esp + 0x34], 0x10
mov eax, dword [esp + 0x20]
jae 0x100fac83
lea eax, [esp + 0x20]
mov bl, byte [eax]
lea ecx, [esp + 0x20]
call fcn.100f0520
mov al, bl
jmp 0x100face8
lea ecx, [esp + 0x20]
mov dword [esp + 0x128], 0xffffffff
call fcn.100f0520
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 0x100facd1
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 0x100facc0
sub eax, dword [edi + 0x5c]
mov ecx, edi
push eax
push 5
call fcn.100f33b0
xor al, al
jmp 0x100face8
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.1006656c
add esp, 0x118
ret