Function at 0x1001ada0
Capabilities:
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov edi, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x10], eax
cmp edi, ecx
je 0x1001b218
mov dword [ebp - 0x24], ecx
mov ebx, dword [sym.imp.ucrtbase.dll_malloc]
mov dword [esp], 0x600
call ebx
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1001c000
mov dword [esp], 0x200
call ebx
mov dword [ebp - 0x14], eax
test eax, eax
je case.0x1001ae64.6
mov dword [ebp - 0x28], pe_nt_image_headers32
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x2c], pe_nt_image_headers32
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x24], eax
cmp edi, ecx
je 0x1001ae70
movzx eax, word [edi]
cmp ax, 0x29
je 0x1001b108
cmp ax, 0x7c
je 0x1001ae7c
cmp ax, 0x28
je 0x1001af58
mov eax, dword [ebp - 0x10]
lea esi, [edi + 2]
mov dword [eax + 0xc], esi
movzx ebx, word [edi]
cmp bx, 0x5e
ja 0x1001b190
cmp bx, 0x23
jbe case.0x1001ae64.1
lea eax, [ebx - 0x24]
cmp ax, 0x3a
ja case.0x1001ae64.1
movzx eax, ax
jmp dword [eax*4 + 0x1003b050]
mov ebx, dword [ebp - 0x1c]
cmp dword [ebp - 0x18], ebx
jl 0x1001b3a8
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [eax + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
mov ebx, eax
test eax, eax
je case.0x1001ae64.6
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov edi, dword [ebp - 0x28]
cmp dword [ebp - 0x1c], edi
je 0x1001b148
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x14]
lea esi, [eax + 1]
mov dword [edi + eax*4], ebx
mov eax, dword [ebp - 0x10]
mov edi, dword [eax + 0xc]
cmp edi, dword [eax + 8]
je 0x1001c041
movzx eax, word [edi]
cmp ax, 0x7b
je 0x1001b0e0
ja 0x1001b030
cmp ax, 0x2b
ja 0x1001b178
cmp ax, 0x29
ja case.0x1001ae64.6
jne 0x1001b0f5
mov edx, dword [ebp - 0x18]
sub edx, 1
js case.0x1001ae64.6
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x20]
mov eax, edx
lea ecx, [eax + eax*2]
mov ecx, dword [esi + ecx*4]
lea ebx, [ecx - 0x20]
cmp ebx, 2
jbe 0x1001b260
cmp ecx, 0x1c
je 0x1001b260
sub eax, 1
jae 0x1001af10
xor ebx, ebx
mov eax, dword [ebp - 0x20]
mov esi, dword [sym.imp.ucrtbase.dll_free]
mov dword [esp], eax
call esi
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call esi
add esp, 0x4c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebp - 0x10]
lea eax, [edi + 2]
mov dword [ebx + 0xc], eax
lea eax, [edi + 4]
cmp eax, ecx
jae 0x1001afb0
cmp word [edi + 2], 0x3f
jne 0x1001afb0
movzx eax, word [edi + 4]
lea edx, [eax - 0x21]
cmp dx, 0x1c
ja 0x1001afb0
mov ecx, 0x12000001
bt ecx, edx
jae 0x1001afb0
cmp ax, 0x21
je 0x1001b9ea
mov ebx, 0x20
cmp ax, 0x3d
je 0x1001b412
mov eax, dword [ebp - 0x10]
add edi, 6
mov dword [eax + 0xc], edi
jmp 0x1001aff5
mov eax, dword [ebp - 0x24]
mov edx, 1
shr eax, 7
je 0x1001b9d0
lea esi, [esi]
mov ecx, edx
add edx, 1
shr eax, 7
jne 0x1001afc8
mov ebx, dword [ebp - 0x10]
lea eax, [ecx + ecx + 4]
add dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0x24]
add eax, 1
mov dword [ebx + 0x10], eax
cmp eax, 0xffff
je case.0x1001ae64.6
mov ebx, 0x1c
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x2c]
lea esi, [eax + eax]
cmp eax, edi
je 0x1001b0b0
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
add esi, edx
add edx, 1
lea eax, [eax + esi*4]
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x18], edx
mov dword [eax], ebx
mov ebx, dword [ebp - 0x24]
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [eax + 8], ebx
mov dword [eax + 4], edi
jmp 0x1001ae0a
cmp ax, 0x7c
jne 0x1001b0f5
mov eax, dword [ebp - 0x10]
add edi, 2
mov dword [eax + 0xc], edi
mov edi, dword [ebp - 0x18]
test edi, edi
je 0x1001b090
mov edx, dword [ebp - 0x20]
lea eax, [edi + edi*2]
lea ebx, [edx + eax*4 - 0xc]
jmp 0x1001b088
mov dword [esp], esi
mov ecx, dword [ebp - 0x14]
mov edx, 0x2f
sub edi, 1
mov eax, dword [ebp - 0x10]
call sym._ProcessOp.isra.0
test eax, eax
je case.0x1001ae64.6
sub esi, 1
sub ebx, 0xc
test edi, edi
je 0x1001b08d
cmp dword [ebx], 0x2f
je 0x1001b060
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], esi
mov ebx, 0x17
lea esi, [eax + eax]
cmp eax, edi
jne 0x1001b006
lea esi, [esi]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], esi
lea eax, [esi + ecx*4]
shl eax, 2
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je case.0x1001ae64.6
mov dword [ebp - 0x20], eax
jmp 0x1001b006
mov eax, dword [ebp - 0x10]
mov edx, 1
call sym._ParseMinMaxQuantifier
test eax, eax
jns 0x1001b437
mov dword [ebp - 0x1c], esi
mov ebx, 0x2f
jmp 0x1001aff5
mov eax, dword [ebp - 0x18]
sub eax, 1
js case.0x1001ae64.6
mov ebx, dword [ebp - 0x20]
lea esi, [esi]
nop
lea edx, [eax + eax*2]
mov edx, dword [ebx + edx*4]
lea ecx, [edx - 0x20]
cmp ecx, 2
jbe 0x1001ae7c
cmp edx, 0x1c
je 0x1001ae7c
sub eax, 1
jae 0x1001b120
jmp case.0x1001ae64.6
mov eax, dword [ebp - 0x1c]
lea edx, [eax + eax]
shl eax, 3
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x28], edx
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_realloc]
test eax, eax
je case.0x1001ae64.6
mov dword [ebp - 0x14], eax
jmp 0x1001aebc
cmp ax, 0x3f
je case.0x1001ae64.6
jmp 0x1001b0f5
cmp bx, 0x7b
je 0x1001b3f0
lea esi, [esi]
mov esi, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [esi + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b428
mov dword [eax], 0xd
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [esi + 0x20], eax
mov word [eax + 0xc], bx
mov eax, dword [esi + 0x20]
mov dword [eax + 0x10], 1
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x20]
sub eax, 2
mov dword [edx + 8], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x30], eax
add eax, 3
mov esi, dword [ebp - 0x10]
mov dword [esi + 0x1c], eax
mov eax, esi
call sym._ParseQuantifier
test eax, eax
je case.0x1001ae64.6
mov ebx, dword [esi + 0x20]
jmp 0x1001aeb0
mov dword [esp + 4], 0x1c
mov eax, dword [eax + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b243
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov edx, dword [ebp - 0x10]
xor ebx, ebx
test eax, eax
setne bl
mov dword [edx + 0x20], eax
add esp, 0x4c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x10]
add edi, 2
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
mov dword [eax + 0xc], edi
lea eax, [edx + edx*2]
mov edx, dword [ebp - 0x20]
sub esi, ebx
lea edi, [edx + eax*4]
mov edx, dword [edi]
lea ecx, [esi + ebx]
sub ebx, 1
mov dword [ebp - 0x1c], ecx
cmp edx, 0x20
je 0x1001b390
ja 0x1001b340
cmp edx, 0x1c
jne 0x1001b34c
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov dword [ebp - 0x30], ecx
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x18], edx
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je case.0x1001ae64.6
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax], edx
mov edx, dword [edi + 8]
mov dword [eax + 0xc], edx
test ecx, ecx
je 0x1001c007
mov edx, dword [ebp - 0x14]
lea esi, [edx + ecx*4 - 4]
mov edx, dword [esi]
mov dword [esi], eax
mov dword [eax + 8], edx
mov edx, dword [ebp - 0x10]
mov edx, dword [edx + 0x18]
cmp edx, 0xaaaaa
je case.0x1001ae64.6
mov edi, dword [ebp - 0x10]
add edx, 1
mov dword [edi + 0x18], edx
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
mov dword [edi + 0x20], eax
mov eax, edi
call sym._ParseQuantifier
test eax, eax
je case.0x1001ae64.6
mov eax, dword [edi + 0x20]
mov ecx, edi
mov edi, dword [edi + 0xc]
mov dword [esi], eax
cmp edi, dword [ecx + 8]
je 0x1001b39e
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x18], ebx
jmp 0x1001aed7
lea eax, [edx - 0x21]
cmp eax, 1
jbe 0x1001b29d
mov dword [esp], ecx
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
call sym._ProcessOp.isra.0
test eax, eax
je case.0x1001ae64.6
sub edi, 0xc
test ebx, ebx
jne 0x1001b27a
mov dword [esp + 8], 0x724
mov dword [esp + 4], str..._wine_git_dlls_vbscript_regexp.c
mov dword [esp], str.operatorSP
call dword [sym.imp.ucrtbase.dll__assert]
lea esi, [esi]
mov eax, dword [ebp - 0x14]
lea esi, [eax + ecx*4 - 4]
mov eax, dword [esi]
jmp 0x1001b30e
mov dword [ebp - 0x18], ebx
lea esi, [esi]
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x1001ba09
mov ebx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1c]
jmp 0x1001b3cb
sub edi, 1
test esi, esi
je 0x1001ba06
sub esi, 1
mov ecx, dword [ebp - 0x14]
lea eax, [esi + esi*2]
mov edx, dword [ebx + eax*4]
mov eax, dword [ebp - 0x10]
mov dword [esp], edi
call sym._ProcessOp.isra.0
test eax, eax
jne 0x1001b3c0
mov ebx, eax
jmp 0x1001af32
mov eax, dword [ebp - 0x10]
mov edx, 1
mov dword [eax + 0xc], edi
mov edi, eax
call sym._ParseMinMaxQuantifier
mov dword [edi + 0xc], esi
test eax, eax
jns case.0x1001ae64.6
jmp case.0x1001ae64.1
mov eax, dword [ebp - 0x10]
mov ebx, 0x21
add dword [eax + 0x1c], 4
jmp 0x1001af9f
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x20], 0
jmp case.0x1001ae64.6
mov eax, dword [ebp - 0x10]
mov dword [eax + 0xc], edi
jmp case.0x1001ae64.6
mov esi, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [esi + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
mov ebx, eax
test eax, eax
je 0x1001b428
mov dword [eax], 1
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [esi + 0x20], eax
add dword [esi + 0x1c], 1
jmp 0x1001aeb0
cmp esi, ecx
jae case.0x1001ae64.6
mov eax, dword [ebp - 0x10]
lea edx, [edi + 4]
mov dword [eax + 0xc], edx
movzx eax, word [edi + 2]
mov word [ebp - 0x30], ax
sub eax, 0x30
cmp ax, 0x48
ja case.0x1001b4a3.10
movzx eax, ax
jmp dword [eax*4 + 0x1003b13c]
mov ebx, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [ebx + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b428
movzx edx, word [ebp - 0x30]
mov dword [eax], 0xd
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [ebx + 0x20], eax
mov word [eax + 0xc], dx
mov eax, dword [ebx + 0x20]
mov dword [eax + 0x10], 1
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x20]
sub eax, 2
mov dword [edx + 8], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x30], eax
add eax, 3
jmp 0x1001b1f8
mov esi, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [esi + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b428
mov dword [eax], 0x15
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ebx, dword [esi + 0xc]
mov dword [esi + 0x20], eax
mov edx, ebx
sub edx, dword [esi + 4]
sar edx, 1
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
cmp ecx, eax
je case.0x1001ae64.6
mov esi, dword [ebp - 0x10]
jmp 0x1001b580
cmp dx, 0x5d
je 0x1001ba28
add eax, 2
mov dword [esi + 0xc], eax
cmp eax, ecx
je case.0x1001ae64.6
movzx edx, word [eax]
cmp dx, 0x5c
jne 0x1001b568
lea edx, [eax + 2]
cmp edx, ecx
je 0x1001b9fb
add eax, 4
jmp 0x1001b575
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [eax + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b428
mov dword [eax], 5
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov ebx, dword [ebp - 0x10]
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x30], eax
add eax, 1
jmp 0x1001b1f8
mov esi, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [esi + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
mov ebx, eax
test eax, eax
je 0x1001b428
mov dword [eax], 2
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [esi + 0x20], eax
add dword [esi + 0x1c], 1
jmp 0x1001aeb0
mov edi, dword [ebp - 0x10]
movzx eax, word [ebp - 0x30]
mov ecx, sym._FindParenCount
mov edx, dword [ebp - 0x24]
mov dword [esp], edi
call sym._GetDecimalValue
test byte [edi + 0x59], 0x40
jne case.0x1001ae64.6
cmp eax, 0xffffffff
je 0x1001bfd8
lea ebx, [eax - 1]
cmp ebx, 0xffff
ja 0x1001c024
mov edi, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [edi + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b428
xor edx, edx
mov dword [eax], 0xc
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov edx, 1
mov dword [edi + 0x20], eax
mov dword [eax + 0xc], ebx
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 0xc]
shr eax, 7
je 0x1001b6a2
add edx, 1
shr eax, 7
jne 0x1001b69a
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x1c]
lea eax, [edx + eax + 1]
jmp 0x1001b1f8
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [eax + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b428
mov dword [eax], 8
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x1001b5cb
test byte [0x1003306c], 4
jne 0x1001bf9f
mov esi, dword [ebp - 0x10]
xor ebx, ebx
jmp 0x1001b71b
movzx eax, word [edx]
lea edi, [eax - 0x30]
cmp di, 7
ja 0x1001b71f
add edx, 2
lea eax, [eax + ebx*8 - 0x30]
mov dword [esi + 0xc], edx
cmp eax, 0xff
ja 0x1001b71f
mov ebx, eax
cmp edx, ecx
jb 0x1001b6fc
mov edi, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [edi + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b428
mov dword [eax], 0xd
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [edi + 0x20], eax
mov word [eax + 0xc], bx
mov eax, dword [edi + 0x20]
mov dword [eax + 0x10], 1
mov eax, dword [edi + 0x1c]
mov dword [ebp - 0x30], eax
add eax, 3
jmp 0x1001b1f8
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [eax + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b428
mov dword [eax], 7
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x1001b5cb
mov esi, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [esi + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
mov ebx, eax
test eax, eax
je 0x1001b428
mov dword [eax], 4
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [esi + 0x20], eax
add dword [esi + 0x1c], 1
jmp 0x1001aeb0
cmp edx, ecx
jae 0x1001bf94
movzx eax, word [edi + 4]
and eax, 0xffffffdf
sub eax, 0x41
cmp ax, 0x19
ja 0x1001bf94
mov ebx, dword [ebp - 0x10]
lea eax, [edi + 6]
mov dword [ebx + 0xc], eax
movzx ebx, word [edi + 4]
and ebx, 0x1f
jmp 0x1001b71f
mov edi, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [edi + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
mov ebx, eax
test eax, eax
je 0x1001b428
mov dword [eax], 3
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [edi + 0x20], eax
add dword [edi + 0x1c], 1
jmp 0x1001aeb0
mov ebx, 0xb
jmp 0x1001b71f
mov ebx, 9
jmp 0x1001b71f
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [eax + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b428
mov dword [eax], 0xa
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x1001b5cb
mov ebx, 0xd
jmp 0x1001b71f
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [eax + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b428
mov dword [eax], 6
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x1001b5cb
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [eax + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b428
mov dword [eax], 9
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x1001b5cb
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], 0x1c
mov eax, dword [eax + 0x5c]
mov dword [esp], eax
call sym._heap_pool_alloc
test eax, eax
je 0x1001b428
mov dword [eax], 0xb
mov dword [eax + 4], 0
mov dword [eax + 8], 0
jmp 0x1001b5cb
mov dword [ebp - 0x30], 2
xor ebx, ebx
xor esi, esi
cmp edx, ecx
jae 0x1001b9a8
mov eax, dword [ebp - 0x10]
add edx, 2
mov dword [eax + 0xc], edx
movzx edi, word [edx - 2]
mov eax, edi
cmp di, 0x2f
jbe 0x1001b991
cmp edi, 0x39
jbe 0x1001be8d
or eax, 0x20
movzx eax, ax
lea edi, [eax - 0x61]
cmp edi, 5
jbe 0x1001bee0
mov eax, 0x7ffffffe
sub eax, ebx
mov ebx, dword [ebp - 0x10]
add eax, eax
add eax, edx
lea edx, [eax + 2]
mov dword [ebx + 0xc], edx
movzx esi, word [eax]
mov ebx, esi
jmp 0x1001b71f
mov ebx, 0xa
jmp 0x1001b71f
mov dword [ebp - 0x30], 4
jmp 0x1001b959
mov ebx, 0xc
jmp 0x1001b71f
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x10]
add eax, 1
add dword [ebx + 0x1c], 4
mov dword [ebx + 0x10], eax
mov ebx, 0x1c
jmp 0x1001aff5
mov eax, dword [ebp - 0x10]
mov ebx, 0x22
add dword [eax + 0x1c], 4
jmp 0x1001af9f
mov eax, dword [ebp - 0x10]
mov dword [eax + 0xc], ecx
jmp case.0x1001ae64.6
mov dword [ebp - 0x1c], edi
cmp dword [ebp - 0x1c], 1
jne 0x1001c049
mov eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 0x10]
mov eax, dword [eax]
mov dword [ebx + 0x20], eax
mov ebx, 1
jmp 0x1001af32
mov ecx, dword [ebp - 0x10]
sub eax, ebx
xor edi, edi
sar eax, 1
mov edx, dword [ecx + 0x20]
lea esi, [ecx + 0x28]
mov dword [edx + 0x10], eax
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x30], eax
mov ecx, dword [esi]
test ecx, ecx
je 0x1001bf6d
mov eax, dword [ebp - 0x30]
mov edx, dword [esi + 4]
cmp edx, dword [eax + 0x10]
je 0x1001be61
add edi, 1
add esi, 0xc
cmp edi, 4
jne 0x1001ba40
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x14]
mov ecx, dword [ebp - 0x10]
lea edx, [eax + 1]
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0x30]
mov dword [edx + 0x14], eax
mov edx, dword [ebp - 0x10]
mov ecx, dword [edx + 0xc]
mov esi, dword [edx + 0x20]
lea eax, [ecx + 2]
mov dword [ebp - 0x3c], ecx
mov dword [edx + 0xc], eax
xor eax, eax
mov word [esi + 0x18], ax
mov byte [esi + 0x1a], 1
cmp ebx, ecx
je 0x1001bb6c
cmp word [ebx], 0x5e
je 0x1001beaa
mov dword [ebp - 0x38], 0
xor edi, edi
mov dword [ebp - 0x48], esi
mov word [ebp - 0x3e], di
xor edi, edi
lea esi, [esi]
movzx esi, word [ebx]
lea eax, [ebx + 2]
cmp si, 0x5c
je 0x1001bbc0
test edi, edi
jne 0x1001bdb0
mov ebx, dword [ebp - 0x3c]
lea edx, [ebx - 2]
cmp eax, edx
jae 0x1001baec
cmp word [eax], 0x2d
je 0x1001be37
mov edx, dword [ebp - 0x10]
mov ebx, eax
test byte [edx + 0x58], 1
je 0x1001bb4b
movzx edi, si
mov word [ebp - 0x3e], si
mov edx, esi
cmp esi, edi
jb 0x1001bb46
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x44], eax
lea esi, [esi]
movzx ecx, di
mov dword [esp], ecx
mov dword [ebp - 0x30], ecx
call dword [sym.imp.ucrtbase.dll_towupper]
mov ecx, dword [ebp - 0x30]
mov ebx, eax
mov dword [esp], ecx
call dword [sym.imp.ucrtbase.dll_towlower]
cmp bx, ax
cmovb ebx, eax
cmp si, bx
cmovb esi, ebx
add edi, 1
cmp dword [ebp - 0x34], edi
jae 0x1001bb10
mov eax, dword [ebp - 0x44]
mov edx, esi
movzx esi, dx
mov ebx, eax
mov eax, dword [ebp - 0x38]
cmp eax, esi
cmovae esi, eax
xor edi, edi
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x3c], ebx
jne 0x1001bac0
mov esi, dword [ebp - 0x48]
movzx eax, word [ebp - 0x38]
mov word [esi + 0x18], ax
mov edi, dword [ebp - 0x10]
mov edx, 0x1000000
mov ecx, dword [edi + 0x20]
mov ebx, dword [edi + 0x24]
movzx eax, word [ecx + 0x18]
sub edx, ebx
shr ax, 3
add eax, 1
movzx eax, ax
cmp edx, eax
jb case.0x1001ae64.6
add eax, ebx
mov edx, 1
mov dword [edi + 0x24], eax
mov eax, dword [ecx + 0x14]
shr eax, 7
je 0x1001b6a2
lea esi, [esi]
nop
add edx, 1
shr eax, 7
jne 0x1001bbb0
jmp 0x1001b6a2
movzx esi, word [ebx + 2]
lea edx, [ebx + 4]
cmp si, 0x78
ja case.0x1001bbe3.3
cmp si, 0x61
jbe 0x1001bdbf
lea ecx, [esi - 0x62]
cmp cx, 0x16
ja case.0x1001bbe3.3
movzx ecx, cx
jmp dword [ecx*4 + 0x1003b260]
sub ebx, 0x30
mov eax, dword [ebp - 0x30]
shl esi, 4
add ecx, 1
or esi, ebx
cmp ecx, eax
jae case.0x1001bbe3.3
mov eax, dword [ebp - 0x3c]
cmp edx, eax
jb 0x1001bd68
lea esi, [esi]
nop
test edi, edi
je 0x1001be30
mov ebx, edx
lea esi, [esi]
movzx edi, word [ebp - 0x3e]
cmp esi, edi
jb case.0x1001ae64.6
mov eax, dword [ebp - 0x10]
test byte [eax + 0x58], 1
je 0x1001bb4b
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x44], ebx
jmp 0x1001bb10
lea eax, [esi - 0x44]
cmp ax, 0x13
ja case.0x1001bbe3.3
mov ecx, 0x88001
bt ecx, eax
jae case.0x1001bbe3.3
test edi, edi
jne case.0x1001ae64.6
mov eax, dword [ebp - 0x10]
test byte [eax + 0x58], 1
jne 0x1001bf3c
mov dword [ebp - 0x38], 0xffff
mov ebx, edx
xor esi, esi
jmp 0x1001bb4b
test edi, edi
jne 0x1001befd
mov eax, edx
mov esi, 0xb
jmp 0x1001bad8
test edi, edi
jne 0x1001bec8
mov eax, edx
mov esi, 9
jmp 0x1001bad8
test edi, edi
jne case.0x1001ae64.6
mov eax, dword [ebp - 0x10]
test byte [eax + 0x58], 1
jne 0x1001bf15
mov ebx, edx
mov esi, 0x39
jmp 0x1001bb4b
test edi, edi
jne 0x1001bee5
mov eax, edx
mov esi, 0xa
jmp 0x1001bad8
test edi, edi
jne 0x1001bf09
mov eax, edx
mov esi, 8
jmp 0x1001bad8
test edi, edi
jne 0x1001bed4
mov eax, edx
mov esi, 0xd
jmp 0x1001bad8
mov ecx, dword [ebp - 0x3c]
cmp edx, ecx
jae 0x1001be48
movzx ecx, word [ebx + 4]
mov edx, ecx
and edx, 0xffffffdf
sub edx, 0x41
cmp dx, 0x19
ja 0x1001be48
add ebx, 6
mov esi, ecx
and esi, 0x1f
mov eax, ebx
test edi, edi
je 0x1001bad8
jmp 0x1001bc20
test edi, edi
jne 0x1001bef1
mov eax, edx
mov esi, 0xc
jmp 0x1001bad8
mov dword [ebp - 0x30], 2
mov eax, dword [ebp - 0x3c]
cmp edx, eax
jae 0x1001bf8d
xor ecx, ecx
xor esi, esi
lea esi, [esi]
nop
movzx ebx, word [edx]
add edx, 2
mov eax, ebx
cmp bx, 0x2f
jbe 0x1001bd8d
cmp ebx, 0x39
jbe 0x1001bbea
or eax, 0x20
movzx eax, ax
lea ebx, [eax - 0x61]
cmp ebx, 5
jbe 0x1001bdb7
not ecx
lea ebx, [edx + ecx*2]
test edi, edi
jne 0x1001be57
mov eax, ebx
mov esi, 0x5c
jmp 0x1001bad8
mov dword [ebp - 0x30], 4
jmp 0x1001bd54
mov ebx, eax
jmp 0x1001bc20
lea ebx, [eax - 0x57]
jmp 0x1001bbed
cmp si, 0x37
ja 0x1001bc44
cmp si, 0x2f
jbe case.0x1001bbe3.3
movzx ecx, word [ebx + 4]
sub esi, 0x30
lea eax, [ecx - 0x30]
cmp ax, 7
ja case.0x1001bbe3.3
lea esi, [ecx + esi*8 - 0x30]
movzx ecx, word [ebx + 6]
lea eax, [ebx + 6]
lea edx, [ecx - 0x30]
cmp dx, 7
ja 0x1001bad0
movzx edx, cx
lea edx, [edx + esi*8 - 0x30]
cmp edx, 0xff
ja 0x1001bad0
add ebx, 8
test edi, edi
jne 0x1001bfd1
mov eax, ebx
mov esi, edx
jmp 0x1001bad8
mov eax, edx
jmp 0x1001bad8
mov word [ebp - 0x3e], si
lea ebx, [eax + 2]
mov edi, 1
jmp 0x1001bb58
mov esi, 0x5c
test edi, edi
je 0x1001bad8
mov ebx, eax
mov esi, 0x5c
jmp 0x1001bc20
test edx, edx
je 0x1001bf5e
mov dword [ebp - 0x34], esi
xor eax, eax
jmp 0x1001be7b
add eax, 1
cmp edx, eax
je 0x1001bf5e
movzx esi, word [ebx + eax*2]
cmp word [ecx + eax*2], si
je 0x1001be70
mov esi, dword [ebp - 0x34]
jmp 0x1001ba59
lea eax, [edi - 0x30]
shl esi, 4
add ebx, 1
or esi, eax
mov eax, dword [ebp - 0x30]
cmp ebx, eax
jne 0x1001b95d
mov ebx, esi
jmp 0x1001b71f
add ebx, 2
mov byte [esi + 0x1a], 0
cmp ecx, ebx
jne 0x1001baa7
xor eax, eax
mov dword [ebp - 0x38], eax
jmp 0x1001bb64
mov ebx, edx
mov esi, 9
jmp 0x1001bc20
mov ebx, edx
mov esi, 0xd
jmp 0x1001bc20
sub eax, 0x57
jmp 0x1001be90
mov ebx, edx
mov esi, 0xa
jmp 0x1001bc20
mov ebx, edx
mov esi, 0xc
jmp 0x1001bc20
mov ebx, edx
mov esi, 0xb
jmp 0x1001bc20
mov ebx, edx
mov esi, 8
jmp 0x1001bc20
mov eax, edx
mov esi, 0x39
mov ecx, 0x39
mov edx, 0x39
mov dword [ebp - 0x34], esi
mov edi, 0x39
mov esi, edx
mov word [ebp - 0x3e], cx
mov dword [ebp - 0x44], eax
jmp 0x1001bb10
mov eax, edx
xor edx, edx
xor esi, esi
mov dword [ebp - 0x38], 0xffff
mov word [ebp - 0x3e], dx
xor edx, edx
xor edi, edi
mov dword [ebp - 0x34], esi
mov esi, edx
mov dword [ebp - 0x44], eax
jmp 0x1001bb10
mov edx, dword [ebp - 0x10]
lea eax, [edi + edi*2]
mov eax, dword [edx + eax*4 + 0x30]
jmp 0x1001ba73
mov ecx, dword [ebp - 0x10]
lea eax, [edi + edi*2]
lea edx, [ecx + eax*4]
mov eax, dword [ebp - 0x30]
mov dword [edx + 0x28], ebx
mov eax, dword [eax + 0x10]
mov dword [edx + 0x2c], eax
mov eax, dword [ecx + 0x14]
mov dword [edx + 0x30], eax
jmp 0x1001ba6a
xor esi, esi
jmp case.0x1001bbe3.3
mov eax, dword [ebp - 0x10]
mov dword [eax + 0xc], esi
jmp 0x1001b71f
mov dword [esp + 0xc], str.non_octal_digit_in_an_escape_sequence_that_doesnt_match_a_back_reference_n
mov dword [esp + 8], str.ParseTerm
mov dword [esp + 4], 0x1003306c
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_3
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
jmp 0x1001b6f5
mov esi, edx
jmp 0x1001bc20
test byte [0x1003306c], 4
jne 0x1001c066
mov eax, dword [ebp - 0x10]
cmp word [ebp - 0x30], 0x37
mov dword [eax + 0xc], esi
ja case.0x1001ae64.1
mov ecx, dword [eax + 8]
mov edx, esi
jmp 0x1001b6f5
xor ebx, ebx
jmp 0x1001af48
mov dword [esp + 8], 0x72f
mov dword [esp + 4], str..._wine_git_dlls_vbscript_regexp.c
mov dword [esp], str.operandSP
call dword [sym.imp.ucrtbase.dll__assert]
mov dword [esp + 8], 0x5a1
mov dword [esp + 4], str..._wine_git_dlls_vbscript_regexp.c
mov dword [esp], str.1___num__num___0x10000
call dword [sym.imp.ucrtbase.dll__assert]
mov dword [ebp - 0x1c], esi
jmp 0x1001b3a8
mov dword [esp + 8], 0x6f9
mov dword [esp + 4], str..._wine_git_dlls_vbscript_regexp.c
mov dword [esp], str.operandSP__1
call dword [sym.imp.ucrtbase.dll__assert]
mov dword [esp + 0xc], str.back_reference_exceeds_number_of_capturing_parentheses_n
mov dword [esp + 8], str.ParseTerm
mov dword [esp + 4], 0x1003306c
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_3
jmp 0x1001bfe5