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

Disassembly:
push 0xffffffffffffffff
push 0x5695e7
mov eax, dword fs:[0]
push eax
sub esp, 0x110
mov eax, dword [0x5bf094]
xor eax, esp
mov dword [esp + 0x10c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5bf094]
xor eax, esp
push eax
lea eax, [esp + 0x124]
mov dword fs:[0], eax
mov esi, ecx
inc dword [esi + 0x64]
mov edi, dword [esi + 0x64]
mov ebp, dword [esi + 4]
movzx ecx, byte [edi]
mov eax, dword [ebp]
movzx eax, byte [ecx + eax + 4]
xor bl, bl
add eax, 0xffffffef
mov byte [esp + 0x15], bl
cmp eax, 0x2a
ja case.0x47971a.26
movzx edx, byte [eax + 0x479e0c]
jmp dword [edx*4 + 0x479db8]
mov bl, 1
jmp case.0x47971a.22
mov ecx, esi
call fcn.00478220
jmp 0x479d8e
push 8
inc edi
push 9
mov ecx, esi
mov dword [esi + 0x64], edi
call fcn.0046ccf0
jmp 0x479d8c
push 8
inc edi
push 0xa
mov ecx, esi
mov dword [esi + 0x64], edi
call fcn.0046ccf0
jmp 0x479d8c
push 8
inc edi
push 0xb
mov ecx, esi
mov dword [esi + 0x64], edi
call fcn.0046ccf0
jmp 0x479d8c
push 8
inc edi
push 0xc
mov ecx, esi
mov dword [esi + 0x64], edi
call fcn.0046ccf0
jmp 0x479d8c
push 8
inc edi
push 7
mov ecx, esi
mov dword [esi + 0x64], edi
call fcn.0046ccf0
jmp 0x479d8c
push 8
inc edi
push 8
mov ecx, esi
mov dword [esi + 0x64], edi
call fcn.0046ccf0
jmp 0x479d8c
push 8
inc edi
push 0x14
mov ecx, esi
mov dword [esi + 0x64], edi
call fcn.0046ccf0
jmp 0x479d8c
mov ecx, esi
call fcn.0046fb60
jmp 0x479d8e
mov ecx, esi
call fcn.0046cd90
jmp 0x479d8e
push 8
inc edi
push 0x13
mov ecx, esi
mov dword [esi + 0x64], edi
call fcn.0046ccf0
jmp 0x479d8c
push 8
inc edi
push 0x15
mov ecx, esi
mov dword [esi + 0x64], edi
call fcn.0046ccf0
jmp 0x479d8c
mov bl, 1
mov byte [esp + 0x15], bl
lea eax, [edi + 1]
mov edi, dword [esi + 0x60]
mov dword [esi + 0x64], eax
cmp eax, edi
jne 0x47985a
push str.Incomplete_property_escape_found.
lea ecx, [esp + 0x108]
call fcn.00403f60
mov ecx, dword [esi + 0x64]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x104]
push eax
push ecx
push 5
mov ecx, esi
mov dword [esp + 0x138], 1
call fcn.0046f060
lea ecx, [esp + 0x104]
call fcn.004dace0
xor al, al
jmp 0x479d8e
movzx edx, byte [eax]
mov ecx, dword [ebp]
cmp byte [edx + ecx + 4], 0xf
jne 0x4798dc
mov ecx, dword [esi + 0x64]
movzx ebx, byte [ecx]
mov edx, dword [ebp]
cmp byte [ebx + edx + 4], 0x10
je 0x479880
inc ecx
mov dword [esi + 0x64], ecx
cmp ecx, dword [esi + 0x60]
jne 0x479867
mov edx, dword [esi + 0x64]
cmp edx, edi
jne 0x4798c5
push str.Closing__missing_from_property_escape_sequence.
lea ecx, [esp + 0x60]
call fcn.00403f60
mov eax, dword [esi + 0x64]
sub eax, dword [esi + 0x5c]
lea edx, [esp + 0x5c]
push edx
push eax
push 5
mov ecx, esi
mov dword [esp + 0x138], 2
call fcn.0046f060
lea ecx, [esp + 0x5c]
call fcn.004dace0
xor al, al
jmp 0x479d8e
lea ecx, [edx + 1]
inc eax
push edx
mov dword [esi + 0x64], ecx
mov ecx, dword [ebp]
push eax
call fcn.0046f3d0
mov bl, byte [esp + 0x15]
jmp 0x4798e9
lea edx, [eax + 1]
push edx
push eax
call fcn.0046f3d0
inc dword [esi + 0x64]
mov edi, eax
test edi, edi
je 0x479935
lea ecx, [esp + 0x1c]
call fcn.00471020
mov dword [esp + 0x12c], 3
test bl, bl
je 0x47990c
mov byte [esp + 0x3c], 1
or dword [esp + 0x40], edi
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
mov byte [esp + 0x4c], 0
call fcn.00476ea0
test eax, eax
jne 0x479d62
mov eax, dword [esi + 0x64]
sub eax, dword [esi + 0x5c]
push eax
jmp 0x479d49
push str.Escape_sequence_was_neither_a_valid_property_nor_a_valid_character_class_name.
lea ecx, [esp + 0xec]
call fcn.00403f60
mov edx, dword [esi + 0x64]
sub edx, dword [esi + 0x5c]
lea ecx, [esp + 0xe8]
push ecx
push edx
push 4
mov ecx, esi
mov dword [esp + 0x138], 4
call fcn.0046f060
lea ecx, [esp + 0xe8]
call fcn.004dace0
xor al, al
jmp 0x479d8e
mov eax, dword [esi]
test dword [eax + 0x18], 0x203
jne case.0x47971a.22
push 0x10
push 0
mov ecx, esi
call fcn.0046ccf0
mov dword [eax + 8], 0xfffffffb
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
shr edx, 0x14
and dl, 1
mov byte [eax + 0xc], dl
mov eax, dword [esi]
mov ecx, dword [eax + 0x13c]
mov edx, dword [eax + 0x140]
sub edx, ecx
add edx, 3
and edx, 0xfffffffc
add edx, ecx
mov dword [eax + 0x140], edx
inc dword [esi + 0x64]
jmp 0x479d8c
mov eax, dword [esi]
test dword [eax + 0x18], 0x203
jne case.0x47971a.22
mov ebp, dword [esi + 0x5c]
mov ebx, dword [esi + 0x60]
mov eax, str.____r_n___n_v_f
mov dword [esi + 0x64], eax
mov dword [esi + 0x5c], eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4799f4
sub eax, edx
lea ecx, [eax + str.____r_n___n_v_f]
mov dword [esi + 0x60], ecx
mov ecx, esi
call fcn.0046bad0
inc edi
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], ebx
mov dword [esi + 0x5c], ebp
jmp 0x479d8e
mov eax, dword [esi]
test dword [eax + 0x18], 0x203
jne case.0x47971a.22
mov ebx, dword [esi + 0x60]
lea eax, [edi + 1]
mov byte [esp + 0x16], 0
mov dword [esi + 0x64], eax
cmp eax, ebx
jne 0x479a86
mov edx, dword [str.Incomplete_g_escape_found.]
push edx
lea ecx, [esp + 0xb4]
call fcn.00403f60
mov ecx, dword [esi + 0x64]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0xb0]
push eax
push ecx
push 5
mov ecx, esi
mov dword [esp + 0x138], 5
call fcn.0046f060
lea ecx, [esp + 0xb0]
call fcn.004dace0
xor al, al
jmp 0x479d8e
movzx edx, byte [eax]
mov ecx, dword [ebp]
mov cl, byte [edx + ecx + 4]
mov byte [esp + 0x15], 0
cmp cl, 0xf
je 0x479aa4
cmp cl, 0x14
je 0x479aa4
cmp cl, 0x19
jne 0x479b0d
inc eax
mov dword [esi + 0x64], eax
cmp eax, ebx
jne 0x479aeb
mov eax, dword [str.Incomplete_g_escape_found.]
push eax
lea ecx, [esp + 0x7c]
call fcn.00403f60
mov edx, dword [esi + 0x64]
sub edx, dword [esi + 0x5c]
lea ecx, [esp + 0x78]
push ecx
push edx
push 5
mov ecx, esi
mov dword [esp + 0x138], 6
call fcn.0046f060
lea ecx, [esp + 0x78]
call fcn.004dace0
xor al, al
jmp 0x479d8e
mov byte [esp + 0x16], 1
cmp cl, 0xf
je 0x479b08
cmp cl, 0x14
setne al
lea eax, [eax*4 + 0x15]
mov byte [esp + 0x15], al
jmp 0x479b0d
mov byte [esp + 0x15], 0x10
mov eax, dword [esi + 0x64]
cmp byte [eax], 0x2d
sete cl
mov byte [esp + 0x17], cl
test cl, cl
je 0x479b6e
inc eax
mov dword [esi + 0x64], eax
cmp eax, ebx
jne 0x479b6e
mov eax, dword [str.Incomplete_g_escape_found.]
push eax
lea ecx, [esp + 0x98]
call fcn.00403f60
mov edx, dword [esi + 0x64]
sub edx, dword [esi + 0x5c]
lea ecx, [esp + 0x94]
push ecx
push edx
push 5
mov ecx, esi
mov dword [esp + 0x138], 7
call fcn.0046f060
lea ecx, [esp + 0x94]
call fcn.004dace0
xor al, al
jmp 0x479d8e
mov eax, dword [esi + 0x64]
push ebp
push 0xa
lea ecx, [esp + 0x20]
push ebx
push ecx
mov dword [esp + 0x28], eax
call fcn.00432860
mov edi, eax
add esp, 0x10
test edi, edi
jns 0x479bc9
mov dl, byte [esp + 0x15]
test dl, dl
je 0x479bc9
mov eax, dword [esi + 0x64]
mov edi, eax
cmp eax, ebx
je 0x479bb8
lea ecx, [ecx]
mov eax, dword [esi + 0x64]
movzx ebx, byte [eax]
mov ecx, dword [ebp]
cmp byte [ebx + ecx + 4], dl
je 0x479bb8
inc eax
mov dword [esi + 0x64], eax
cmp eax, dword [esi + 0x60]
jne 0x479ba0
mov ebp, dword [esi + 0x64]
push ebp
push edi
call fcn.004321e0
add esp, 8
mov edi, eax
jmp 0x479bcd
mov ebp, dword [esp + 0x18]
cmp byte [esp + 0x17], 0
je 0x479bdc
mov ecx, dword [esi + 0x68]
sub ecx, edi
lea edi, [ecx + 1]
test edi, edi
jle 0x479bef
lea ecx, [edi - 1]
mov edx, 1
shl edx, cl
test dword [esi + 0x18], edx
jne 0x479c28
cmp edi, 0x2710
jle 0x479cbe
mov ebx, dword [esi]
push edi
mov ecx, ebx
call fcn.0046dd80
test eax, eax
jle 0x479cbe
push edi
mov ecx, ebx
call fcn.0046dd80
lea ecx, [eax - 1]
mov eax, 1
shl eax, cl
test dword [esi + 0x18], eax
je 0x479cbe
push 0x10
push 0xd
mov ecx, esi
mov dword [esi + 0x64], ebp
call fcn.0046ccf0
mov dword [eax + 8], edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
shr edx, 0x14
and dl, 1
cmp byte [esp + 0x16], 0
mov byte [eax + 0xc], dl
mov dword [esi + 0x64], ebp
je 0x479d8c
cmp ebp, dword [esi + 0x60]
je 0x479c76
mov eax, dword [esi + 4]
movzx ecx, byte [ebp]
mov eax, dword [eax]
mov dl, byte [esp + 0x15]
cmp byte [ecx + eax + 4], dl
jne 0x479c76
inc ebp
mov dword [esi + 0x64], ebp
jmp 0x479d8c
mov eax, dword [str.Incomplete_g_escape_found.]
push eax
lea ecx, [esp + 0xd0]
call fcn.00403f60
mov edx, dword [esi + 0x64]
sub edx, dword [esi + 0x5c]
lea ecx, [esp + 0xcc]
push ecx
push edx
push 5
mov ecx, esi
mov dword [esp + 0x138], 8
call fcn.0046f060
lea ecx, [esp + 0xcc]
call fcn.004dace0
xor al, al
jmp 0x479d8e
mov eax, dword [esi + 0x64]
sub eax, dword [esi + 0x5c]
mov ecx, esi
push eax
push 6
call fcn.004704b0
xor al, al
jmp 0x479d8e
mov ecx, dword [esi]
test dword [ecx + 0x18], 0x203
jne case.0x47971a.26
mov ecx, dword [ebp]
lea eax, [edi + 1]
push eax
push edi
call fcn.0046f3d0
mov edi, eax
test edi, edi
je 0x479d6d
lea ecx, [esp + 0x1c]
call fcn.00471020
mov dword [esp + 0x12c], 0
test bl, bl
je 0x479d14
mov byte [esp + 0x3c], 1
or dword [esp + 0x40], edi
cmp byte [esp + 0x3d], 0
mov byte [esp + 0x48], 0
push 0
mov ecx, esi
je 0x479d34
lea edx, [esp + 0x20]
push edx
call fcn.004745d0
jmp 0x479d3e
lea eax, [esp + 0x20]
push eax
call fcn.00473c90
test eax, eax
jne 0x479d5f
mov ecx, dword [esi + 0x64]
sub ecx, dword [esi + 0x5c]
push ecx
push 4
mov ecx, esi
call fcn.004704b0
lea ecx, [esp + 0x1c]
call fcn.00481e20
xor al, al
jmp 0x479d8e
inc dword [esi + 0x64]
lea ecx, [esp + 0x1c]
call fcn.00481e20
jmp 0x479d8c
mov ecx, esi
call fcn.00476770
movzx edx, al
push edx
jmp 0x479d85
mov ecx, esi
call fcn.00476770
movzx eax, al
push eax
mov ecx, esi
call fcn.0046cdd0
mov al, 1
mov ecx, dword [esp + 0x124]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x10c]
xor ecx, esp
call fcn.004b92b7
add esp, 0x11c
ret