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

Disassembly:
sub esp, 0x14
push esi
mov esi, ecx
inc dword [esi + 0x5c]
mov edx, dword [esi + 0x5c]
cmp edx, dword [esi + 0x58]
jne 0x461023
sub edx, dword [esi + 0x54]
push edx
push 8
call fcn.0045c2c0
xor al, al
pop esi
add esp, 0x14
ret
push ebx
push ebp
mov ebp, dword [esi]
mov ebx, dword [ebp + 0x14]
test ebx, 0x203
je 0x461040
mov eax, ebx
and eax, 0x1003
cmp eax, 0x1001
jne 0x46105c
mov eax, dword [esi + 4]
movzx ecx, byte [edx]
mov eax, dword [eax]
cmp byte [eax + ecx + 4], 8
jne 0x46105c
pop ebp
pop ebx
mov ecx, esi
pop esi
add esp, 0x14
jmp 0x4613a0
push edi
xor edi, edi
test ebx, 0x400000
jne 0x461096
inc dword [esi + 0x60]
test dword [ebp + 0x14], 0x800000
mov edi, dword [esi + 0x60]
je 0x461096
sub edx, dword [esi + 0x54]
lea eax, [esp + 0x1c]
dec edx
mov dword [esp + 0x20], 0
push eax
lea ecx, [ebp + 0x144]
mov dword [esp + 0x20], edx
call fcn.00463410
push 0x10
push 0
mov ecx, esi
call fcn.00459a70
mov ebp, eax
mov dword [ebp + 8], edi
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x14]
shr ecx, 0x14
and cl, 1
mov byte [ebp + 0xc], cl
mov edx, dword [esi]
mov eax, dword [esi + 0x70]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x138]
mov ecx, dword [edx + 0x13c]
sub ebp, dword [edx + 0x138]
sub ecx, eax
add ecx, 3
and ecx, 0xfffffffc
add ecx, eax
mov dword [edx + 0x13c], ecx
mov ecx, dword [esi]
mov eax, dword [ecx + 0x13c]
sub eax, dword [ecx + 0x138]
mov dword [esi + 0x70], eax
mov al, byte [esi + 0x74]
mov ebx, dword [ecx + 0x14]
mov byte [esp + 0x13], al
mov eax, dword [esi + 0x64]
mov dword [esp + 0x14], ebx
mov byte [esi + 0x74], 0
mov dword [esp + 0x18], eax
mov dword [esi + 0x64], 0xffffffff
mov eax, dword [esi + 0x5c]
cmp eax, dword [esi + 0x58]
je 0x461123
mov eax, dword [esi + 0x50]
mov ecx, esi
call eax
test al, al
jne 0x461110
push ebp
mov ecx, esi
call fcn.00464890
test al, al
je 0x461185
cmp byte [esi + 0x74], 0
je 0x46114d
push 0xc
shr ebx, 0x14
mov ecx, esi
push 0x1c
and bl, 1
call fcn.00459a70
mov byte [eax + 8], bl
mov ebx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [eax + 0x14], ebx
shr ebx, 0x14
and bl, 1
cmp byte [esi + 0xc], bl
je 0x461160
mov byte [esi + 0xc], bl
mov al, byte [esp + 0x13]
mov ebx, dword [esi + 0x5c]
mov byte [esi + 0x74], al
mov eax, dword [esp + 0x18]
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x58]
cmp ebx, eax
jne 0x46118f
sub eax, dword [esi + 0x54]
mov ecx, esi
push eax
push 8
call fcn.0045c2c0
pop edi
pop ebp
pop ebx
xor al, al
pop esi
add esp, 0x14
ret
test edi, edi
je 0x4611b3
mov ecx, dword [esi]
test dword [ecx + 0x14], 0x800000
je 0x4611b3
sub ebx, dword [esi + 0x54]
lea eax, [edi - 1]
push eax
add ecx, 0x144
call fcn.00459cd0
mov dword [eax + 4], ebx
inc dword [esi + 0x5c]
mov ecx, esi
push 0x10
push 1
call fcn.00459a70
mov dword [eax + 8], edi
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x14]
shr ecx, 0x14
and cl, 1
mov byte [eax + 0xc], cl
lea ecx, [edi - 1]
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x6c], ebp
mov dword [esi + 0x70], eax
cmp ecx, 0x1e
ja 0x4611ee
mov eax, 1
shl eax, cl
or dword [esi + 0x18], eax
pop edi
pop ebp
pop ebx
mov al, 1
pop esi
add esp, 0x14
ret
push 0xffffffffffffffff
push 0x471727
mov eax, dword fs:[0]
push eax
sub esp, 0xb0
mov eax, dword [0x48a8f0]
xor eax, esp
mov dword [esp + 0xac], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48a8f0]
xor eax, esp
push eax
lea eax, [esp + 0xc4]
mov dword fs:[0], eax
mov ebp, ecx
inc dword [ebp + 0x5c]
lea esi, [ebp + 0x5c]
mov edx, dword [esi]
mov edi, dword [ebp + 0x58]
mov ebx, dword [ebp + 4]
cmp edx, edi
jne 0x461418
lea edi, [edx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [ebx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edi
mov dword [esi], edi
mov eax, dword [ebx]
movzx edx, byte [edi]
cmp byte [edx + eax + 4], 1
jne 0x461404
jmp 0x462572
mov ecx, dword [ebx]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 0xd
jne 0x461441
cmp edx, edi
je 0x46143a
mov al, byte [edx]
inc edx
mov dword [esi], edx
movzx ecx, al
mov eax, dword [ebx]
cmp byte [ecx + eax + 4], 2
jne 0x461425
mov al, 1
jmp 0x462583
xor eax, eax
mov ecx, ebp
push 0x10
push eax
mov dword [esp + 0x2c], eax
call fcn.00459a70
mov ecx, eax
mov byte [esp + 0x22], 1
mov eax, dword [ebp]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 0x14]
shr eax, 0x14
and al, 1
mov byte [ecx + 0xc], al
mov edx, dword [ebp]
mov eax, dword [ebp + 0x70]
mov dword [esp + 0x3c], eax
sub ecx, dword [edx + 0x138]
mov eax, dword [edx + 0x138]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0x13c]
sub ecx, eax
add ecx, 3
and ecx, 0xfffffffc
add ecx, eax
mov dword [edx + 0x13c], ecx
mov eax, dword [ebp]
mov edi, dword [esi]
mov edx, dword [ebp + 4]
mov ecx, dword [eax + 0x13c]
sub ecx, dword [eax + 0x138]
mov dword [ebp + 0x70], ecx
mov eax, dword [eax + 0x14]
mov dword [esp + 0x28], eax
mov al, byte [ebp + 0x74]
mov byte [esp + 0x1b], al
mov eax, dword [ebp + 0x64]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x60]
mov dword [ebp + 0x68], eax
mov byte [ebp + 0x74], 0
mov dword [ebp + 0x64], 0xffffffff
mov bl, byte [edi]
mov dword [esp + 0x30], ecx
mov ecx, dword [edx]
movzx eax, bl
mov byte [esp + 0x23], bl
mov al, byte [eax + ecx + 4]
movzx eax, al
dec eax
cmp eax, 0x34
ja case.0x461505.3
movzx eax, byte [eax + 0x4625e0]
jmp dword [eax*4 + 0x4625ac]
mov ebx, dword [ebp + 0x60]
mov dword [ebp + 0x64], ebx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 0
mov dword [eax + 8], 0
inc dword [esi]
jmp 0x4621ad
push edx
push 0xa
push dword [ebp + 0x58]
push esi
call fcn.00454cf0
mov edi, eax
add esp, 0x10
test edi, edi
js 0x461557
mov eax, dword [ebp + 4]
mov ecx, dword [eax]
mov eax, dword [esi]
movzx eax, byte [eax]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x4620f7
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x461580
jmp 0x461570
dec edx
mov dword [esi], edx
mov ecx, dword [edi]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x461570
push str.The_recursive_sub_expression_refers_to_an_invalid_marking_group__or_is_unterminated.
lea ecx, [esp + 0x64]
call fcn.00403b40
lea eax, [esp + 0x60]
mov dword [esp + 0xcc], 0
push eax
mov eax, dword [esi]
mov ecx, ebp
sub eax, dword [ebp + 0x54]
push eax
push 0x14
call fcn.0045c380
lea ecx, [esp + 0x60]
call fcn.0041f100
jmp 0x462581
push edx
push 0xa
push dword [ebp + 0x58]
lea eax, [edi + 1]
push esi
mov dword [esi], eax
call fcn.00454cf0
mov edi, eax
add esp, 0x10
test edi, edi
jle 0x4615ef
mov eax, dword [ebp + 4]
mov ecx, dword [eax]
mov eax, dword [esi]
movzx eax, byte [eax]
mov al, byte [eax + ecx + 4]
cmp al, 2
jne 0x4615ef
add edi, dword [ebp + 0x60]
jmp 0x4620f7
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x461613
dec edx
mov dword [esi], edx
mov ecx, dword [edi]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x461603
push str.An_invalid_or_unterminated_recursive_sub_expression.
lea ecx, [esp + 0x7c]
call fcn.00403b40
lea eax, [esp + 0x78]
mov dword [esp + 0xcc], 1
push eax
mov eax, dword [esi]
mov ecx, ebp
sub eax, dword [ebp + 0x54]
push eax
push 0x14
call fcn.0045c380
lea ecx, [esp + 0x78]
call fcn.0041f100
jmp 0x462581
push edx
push 0xa
push dword [ebp + 0x58]
lea eax, [edi + 1]
push esi
mov dword [esi], eax
call fcn.00454cf0
add esp, 0x10
test eax, eax
jg 0x4616a6
dec dword [esi]
mov ecx, ebp
call fcn.00461200
mov edx, dword [esi]
mov ebx, eax
cmp edx, dword [ebp + 0x58]
jne 0x462128
mov edi, dword [ebp + 4]
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461692
jmp 0x462572
mov edi, dword [ebp + 0x60]
sub edi, eax
inc edi
test edi, edi
jg 0x4620f7
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x4616d8
dec edx
mov dword [esi], edx
mov ecx, dword [edi]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x4616c8
push str.An_invalid_or_unterminated_recursive_sub_expression.
lea ecx, [esp + 0x94]
call fcn.00403b40
lea eax, [esp + 0x90]
mov dword [esp + 0xcc], 2
push eax
mov eax, dword [esi]
mov ecx, ebp
sub eax, dword [ebp + 0x54]
push eax
push 0x14
call fcn.0045c380
lea ecx, [esp + 0x90]
call fcn.0041f100
jmp 0x462581
mov eax, dword [esp + 0x1c]
mov ecx, ebp
push 0xc
push 0x10
mov dword [esp + 0x1c], 0xffffffff
mov dword [eax + 8], 0xffffffff
inc dword [esi]
call fcn.00459a70
mov edx, dword [ebp]
mov edi, eax
mov eax, dword [edx + 0x13c]
mov ecx, dword [edx + 0x138]
sub eax, ecx
sub edi, dword [edx + 0x138]
add eax, 3
and eax, 0xfffffffc
add eax, ecx
mov dword [edx + 0x13c], eax
mov dword [esp + 0x24], edi
mov ecx, dword [ebp]
mov eax, dword [ecx + 0x13c]
sub eax, dword [ecx + 0x138]
mov dword [ebp + 0x70], eax
jmp 0x4621b0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 0xfffffffe
mov dword [eax + 8], 0xfffffffe
inc dword [esi]
mov ecx, ebp
push 0xc
push 0x10
call fcn.00459a70
mov edx, dword [ebp]
mov edi, eax
mov eax, dword [edx + 0x138]
mov ecx, dword [edx + 0x13c]
sub edi, dword [edx + 0x138]
sub ecx, eax
add ecx, 3
and ecx, 0xfffffffc
add ecx, eax
mov dword [edx + 0x13c], ecx
jmp 0x461763
inc edi
mov dword [esi], edi
cmp edi, dword [ebp + 0x58]
jne 0x4617f6
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
jne 0x4617e2
jmp 0x462572
mov ecx, dword [edx]
movzx eax, byte [edi]
mov al, byte [eax + ecx + 4]
cmp al, 0x35
jne 0x461818
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 0xfffffffe
mov dword [eax + 8], 0xfffffffe
jmp 0x46182e
cmp al, 0x25
jne 0x46187b
or eax, 0xffffffff
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 8], 0xffffffff
inc dword [esi]
mov ecx, ebp
push 0xc
push 0x10
call fcn.00459a70
mov edi, eax
mov ecx, ebp
mov eax, dword [ebp]
push 0x10
push 0x1a
sub edi, dword [eax + 0x138]
mov dword [esp + 0x2c], edi
call fcn.00459a70
mov edx, dword [ebp]
mov ecx, dword [edx + 0x13c]
sub ecx, dword [edx + 0x138]
add ecx, 3
and ecx, 0xfffffffc
add ecx, dword [edx + 0x138]
mov dword [edx + 0x13c], ecx
jmp 0x461767
lea eax, [edi - 1]
mov byte [esp + 0x23], 0x3e
mov dword [esi], eax
mov ecx, dword [ebp]
xor ebx, ebx
mov dword [esp + 0x14], ebx
test dword [ecx + 0x14], 0x400000
jne 0x4618cf
mov ebx, dword [ebp + 0x60]
inc ebx
mov dword [ebp + 0x60], ebx
test dword [ecx + 0x14], 0x800000
mov dword [esp + 0x14], ebx
je 0x4618cf
mov eax, dword [esi]
add ecx, 0x144
sub eax, dword [ebp + 0x54]
add eax, 0xfffffffe
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
push eax
call fcn.00463410
mov eax, dword [esp + 0x1c]
mov dword [eax + 8], ebx
inc dword [esi]
mov eax, dword [esi]
mov edi, eax
mov edx, dword [ebp + 0x58]
cmp eax, edx
jne 0x461f44
mov edi, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x462572
nop
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461900
jmp 0x462572
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 0xfffffffd
mov dword [eax + 8], 0xfffffffd
jmp 0x461791
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], 0xfffffffc
mov dword [eax + 8], 0xfffffffc
inc dword [esi]
mov edx, dword [esi]
mov eax, dword [ebp + 0x58]
cmp edx, eax
jne 0x461974
mov edi, dword [ebp + 4]
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461960
jmp 0x462572
push dword [ebp + 4]
push 0xa
push eax
push esi
call fcn.00454cf0
mov ebx, dword [esi]
add esp, 0x10
mov edi, dword [ebp + 0x58]
mov ecx, eax
mov dword [esp + 0x1c], ecx
cmp ebx, edi
jne 0x4619c4
mov edi, dword [ebp + 4]
lea edx, [ebx - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x462572
lea ebx, [ebx]
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x4619b0
jmp 0x462572
mov al, byte [ebx]
cmp al, 0x52
jne 0x461b17
inc ebx
mov dword [esi], ebx
cmp ebx, edi
jne 0x461a04
mov edi, dword [ebp + 4]
lea edx, [ebx - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x462572
lea ecx, [ecx]
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x4619f0
jmp 0x462572
cmp byte [ebx], 0x26
jne 0x461a80
lea ecx, [ebx + 1]
mov dword [esp + 0x1c], ecx
mov dword [esi], ecx
cmp ecx, edi
je 0x461a3c
mov ebx, dword [ebp + 4]
lea esp, [esp]
mov edx, dword [esi]
mov ecx, dword [ebx]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x461a38
lea eax, [edx + 1]
mov dword [esi], eax
cmp eax, edi
jne 0x461a20
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi]
cmp eax, edi
jne 0x461a74
mov edi, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x462572
lea ebx, [ebx]
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461a60
jmp 0x462572
push eax
push ecx
call fcn.00454de0
add esp, 8
jmp 0x461a8f
push dword [ebp + 4]
push 0xa
push edi
push esi
call fcn.00454cf0
add esp, 0x10
push 0x10
mov edi, eax
mov ecx, ebp
push 0x1b
neg edi
call fcn.00459a70
test edi, edi
jns 0x461aa5
dec edi
jmp 0x461aa7
xor edi, edi
mov dword [eax + 8], edi
mov edi, dword [ebp + 4]
mov edx, dword [esi]
mov ecx, dword [edi]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x461ae4
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
nop
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461ad0
jmp 0x462572
inc edx
mov dword [esi], edx
cmp edx, dword [ebp + 0x58]
jne 0x4621ad
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461b03
jmp 0x462572
cmp al, 0x27
je 0x461dbf
cmp al, 0x3c
je 0x461dbf
cmp al, 0x44
jne 0x461c06
mov ecx, str.DEFINE
mov edx, dword [esi]
cmp edx, edi
je 0x461b4b
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x461b4b
inc ecx
lea eax, [edx + 1]
mov dword [esi], eax
cmp byte [ecx], 0
jne 0x461b34
mov edx, dword [esi]
cmp edx, edi
je 0x461bdc
cmp byte [ecx], 0
jne 0x461bdc
push 0x10
push 0x1b
mov ecx, ebp
call fcn.00459a70
mov dword [eax + 8], 0x270f
mov edi, dword [ebp + 4]
mov edx, dword [esi]
mov ecx, dword [edi]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x461ba9
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461b95
jmp 0x462572
inc edx
mov dword [esi], edx
cmp edx, dword [ebp + 0x58]
jne 0x4621ad
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461bc8
jmp 0x462572
mov edi, dword [ebp + 4]
dec edx
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461bf2
jmp 0x462572
test ecx, ecx
jle 0x461c8c
push 0x10
push 0x1b
mov ecx, ebp
call fcn.00459a70
mov ecx, dword [esp + 0x1c]
mov dword [eax + 8], ecx
mov edi, dword [ebp + 4]
mov edx, dword [esi]
mov ecx, dword [edi]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x461c59
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461c45
jmp 0x462572
inc edx
mov dword [esi], edx
cmp edx, dword [ebp + 0x58]
jne 0x4621ad
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461c78
jmp 0x462572
mov edx, dword [ebp + 4]
movzx eax, al
mov ecx, dword [edx]
mov al, byte [eax + ecx + 4]
cmp al, 8
je 0x461cc5
lea edi, [ebx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
jne 0x461cb1
jmp 0x462572
lea ecx, [ebx + 1]
mov dword [esi], ecx
cmp ecx, edi
jne 0x461cf7
lea edi, [ecx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
jne 0x461ce3
jmp 0x462572
mov eax, dword [edx]
movzx ebx, byte [ecx]
mov al, byte [eax + ebx + 4]
cmp al, 0x14
jne 0x461d7e
inc ecx
mov dword [esi], ecx
cmp ecx, edi
jne 0x461d38
lea edi, [ecx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
jne 0x461d24
jmp 0x462572
mov ebx, dword [edx]
movzx edi, byte [ecx]
mov al, byte [ebx + edi + 4]
cmp al, 0x25
je 0x461d74
cmp al, 0x35
je 0x461d74
lea edi, [ecx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
mov edi, edi
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
jne 0x461d60
jmp 0x462572
lea eax, [ecx - 3]
mov dword [esi], eax
jmp 0x4621ad
mov edi, dword [edx]
mov al, byte [edi + ebx + 4]
cmp al, 0x25
je 0x461db5
cmp al, 0x35
je 0x461db5
lea edi, [ecx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
jne 0x461da1
jmp 0x462572
lea eax, [ecx - 2]
mov dword [esi], eax
jmp 0x4621ad
lea eax, [ebx + 1]
mov dword [esi], eax
mov edx, eax
cmp eax, edi
je 0x461de3
lea ebx, [ebx]
mov cl, byte [eax]
cmp cl, 0x3e
je 0x461de3
cmp cl, 0x27
je 0x461de3
inc eax
mov dword [esi], eax
cmp eax, edi
jne 0x461dd0
mov eax, dword [esi]
cmp eax, edi
jne 0x461e15
mov edi, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461e01
jmp 0x462572
push eax
push edx
call fcn.00454de0
add esp, 8
mov ecx, ebp
mov edi, eax
push 0x10
push 0x1b
call fcn.00459a70
mov dword [eax + 8], edi
mov edx, dword [esi]
mov al, byte [edx]
cmp al, 0x3e
je 0x461e3b
cmp al, 0x27
jne 0x461e45
mov ebx, dword [ebp + 0x58]
inc edx
mov dword [esi], edx
cmp edx, ebx
jne 0x461eab
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x461e70
lea esp, [esp]
dec edx
mov dword [esi], edx
mov ecx, dword [edi]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x461e60
push str.Unterminated_named_capture.
lea ecx, [esp + 0x4c]
call fcn.00403b40
mov dword [esp + 0xcc], 3
lea eax, [esp + 0x48]
mov ecx, ebp
push eax
mov eax, dword [esi]
sub eax, dword [ebp + 0x54]
push eax
push 0x14
call fcn.0045c380
lea ecx, [esp + 0x48]
call fcn.0041f100
jmp 0x462581
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x461ee4
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
mov edi, edi
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461ed0
jmp 0x462572
inc edx
mov dword [esi], edx
cmp edx, ebx
jne 0x4621ad
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461f02
jmp 0x462572
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
je 0x462572
lea esp, [esp]
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
jne 0x461f30
jmp 0x462572
mov cl, byte [esp + 0x23]
cmp byte [eax], cl
je 0x461f53
inc eax
mov dword [esi], eax
cmp eax, edx
jne 0x461f48
mov eax, dword [esi]
cmp eax, edx
jne 0x461f85
mov edi, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x461f71
jmp 0x462572
mov ecx, dword [ebp]
push ebx
push eax
push edi
call fcn.004554e0
inc dword [esi]
jmp 0x4621ad
cmp bl, 0x52
jne 0x461fe4
lea ebx, [edi + 1]
xor edi, edi
mov dword [esi], ebx
mov ecx, dword [edx]
movzx eax, byte [ebx]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x4620f7
lea edi, [ebx - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
lea esp, [esp]
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
jne 0x461fd0
jmp 0x462572
cmp bl, 0x26
jne 0x46204b
mov ebx, dword [ebp + 0x58]
inc edi
mov dword [esi], edi
mov ecx, edi
mov dword [esp + 0x14], ecx
cmp edi, ebx
je 0x462018
lea esp, [esp]
mov ecx, dword [edx]
movzx eax, byte [edi]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x462014
inc edi
mov dword [esi], edi
cmp edi, ebx
jne 0x462000
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
cmp eax, ebx
jne 0x4620eb
lea edi, [eax - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
jne 0x462037
jmp 0x462572
cmp bl, 0x50
jne 0x461668
mov ebx, dword [ebp + 0x58]
inc edi
mov dword [esi], edi
cmp edi, ebx
jne 0x462085
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
jne 0x462071
jmp 0x462572
cmp byte [edi], 0x3e
jne 0x461668
lea ecx, [edi + 1]
mov dword [esp + 0x14], ecx
mov dword [esi], ecx
cmp ecx, ebx
je 0x4620bc
jmp 0x4620a0
mov edi, dword [esi]
mov ecx, dword [edx]
movzx eax, byte [edi]
mov al, byte [eax + ecx + 4]
cmp al, 2
je 0x4620b8
lea eax, [edi + 1]
mov dword [esi], eax
cmp eax, ebx
jne 0x4620a0
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
cmp eax, ebx
jne 0x4620eb
lea edi, [eax - 1]
mov dword [esi], edi
movzx ecx, byte [edi]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edi
mov dword [esi], edi
mov eax, dword [edx]
movzx ecx, byte [edi]
cmp byte [ecx + eax + 4], 1
jne 0x4620d7
jmp 0x462572
push eax
push ecx
call fcn.00454de0
mov edi, eax
add esp, 8
xor eax, eax
mov ecx, ebp
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
push 0x10
push 0x1d
mov dword [eax + 8], 0
call fcn.00459a70
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
mov eax, dword [ebp]
mov ebx, dword [eax + 0x14]
jmp 0x462199
mov eax, dword [ebp]
mov ecx, ebx
shr ecx, 0x14
mov eax, dword [eax + 0x14]
shr eax, 0x14
xor cl, al
xor eax, eax
mov dword [esp + 0x14], eax
and cl, 1
mov eax, dword [esp + 0x1c]
mov byte [ebp + 0x74], cl
mov dword [eax + 8], 0
mov edi, dword [ebp + 4]
mov edx, dword [esi]
mov eax, dword [edi]
movzx ecx, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 2
jne 0x46217b
push ebx
mov ecx, ebp
call fcn.0045cc30
mov al, byte [esp + 0x1b]
or al, byte [ebp + 0x74]
mov byte [esp + 0x22], 0
mov byte [esp + 0x1b], al
jmp 0x462193
mov eax, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 0x24
jne 0x462554
push ebx
mov ecx, ebp
call fcn.0045cc30
inc dword [esi]
cmp byte [ebp + 0x74], 0
je 0x4621ad
push 0xc
shr ebx, 0x14
mov ecx, ebp
push 0x1c
and bl, 1
call fcn.00459a70
mov byte [eax + 8], bl
xor edi, edi
nop
mov eax, dword [esi]
cmp eax, dword [ebp + 0x58]
je 0x4621c2
mov eax, dword [ebp + 0x50]
mov ecx, ebp
call eax
test al, al
jne 0x4621b0
push dword [esp + 0x2c]
mov ecx, ebp
call fcn.00464890
test al, al
jne 0x462213
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x4621f5
dec edx
mov dword [esi], edx
mov ecx, dword [edi]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x4621e5
push str.Invalid_alternation_operators_within___...__block.
lea ecx, [esp + 0x4c]
call fcn.00403b40
mov dword [esp + 0xcc], 4
jmp 0x461e89
mov eax, dword [esi]
mov ebx, dword [ebp + 0x58]
cmp eax, ebx
jne 0x46224a
mov edi, dword [ebp + 4]
lea edx, [eax - 1]
mov dword [esi], edx
movzx ecx, byte [edx]
mov eax, dword [edi]
cmp byte [ecx + eax + 4], 1
je 0x46223f
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x462230
sub ebx, dword [ebp + 0x54]
push ebx
push 8
jmp 0x46257a
inc eax
cmp byte [esp + 0x22], 0
mov dword [esi], eax
je 0x46227d
cmp byte [ebp + 0x74], 0
je 0x462272
mov ebx, dword [esp + 0x28]
mov ecx, ebp
push 0xc
shr ebx, 0x14
push 0x1c
and bl, 1
call fcn.00459a70
mov byte [eax + 8], bl
push dword [esp + 0x28]
mov ecx, ebp
call fcn.0045cc30
mov ebx, dword [esp + 0x14]
test edi, edi
je 0x462314
mov edx, dword [ebp]
mov ecx, dword [edx + 0x13c]
sub ecx, dword [edx + 0x138]
add ecx, 3
and ecx, 0xfffffffc
add ecx, dword [edx + 0x138]
mov dword [edx + 0x13c], ecx
mov ecx, dword [ebp]
mov edx, dword [esp + 0x24]
mov edi, dword [ecx + 0x138]
add edx, edi
mov eax, dword [ecx + 0x13c]
sub eax, edi
sub eax, edx
add eax, edi
mov dword [edx + 8], eax
cmp dword [ebp + 8], edx
jne 0x462314
cmp ebx, 0xfffffffe
je 0x462314
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x4622f6
dec edx
mov dword [esi], edx
mov ecx, dword [edi]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x4622e6
push str.Invalid_or_empty_zero_width_assertion.
lea ecx, [esp + 0x4c]
call fcn.00403b40
mov dword [esp + 0xcc], 5
jmp 0x461e89
cmp ebx, 0xfffffffc
jne 0x4624cb
mov eax, dword [ebp]
mov edi, dword [esp + 0x30]
mov ecx, dword [eax + 0x138]
add ecx, edi
cmp dword [ecx], 0x11
je 0x4623e7
push 0x110
push 0x11
push edi
mov ecx, ebp
call fcn.0045d1f0
mov edx, dword [ebp]
mov ecx, dword [edx + 0x13c]
sub ecx, dword [edx + 0x138]
sub ecx, eax
add ecx, dword [edx + 0x138]
mov dword [eax + 8], ecx
mov eax, dword [ebp]
mov eax, dword [eax + 0x138]
add eax, edi
add eax, dword [eax + 4]
mov eax, dword [eax]
cmp eax, 0x1b
je 0x4624cb
test eax, eax
je 0x4624cb
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x4623a3
dec edx
mov dword [esi], edx
mov ecx, dword [edi]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x462393
push str.A_repetition_operator_cannot_be_applied_to_a_zero_width_assertion.
lea ecx, [esp + 0xac]
call fcn.00403b40
lea eax, [esp + 0xa8]
mov dword [esp + 0xcc], 8
push eax
mov eax, dword [esi]
mov ecx, ebp
sub eax, dword [ebp + 0x54]
push eax
push 0xd
call fcn.0045c380
lea ecx, [esp + 0xa8]
call fcn.0041f100
jmp 0x462581
mov eax, dword [ecx + 8]
cmp dword [ecx + eax], 0x11
jne 0x46244f
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x462414
dec edx
mov dword [esi], edx
mov ecx, dword [edi]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x462404
push str.More_than_one_alternation_operator__was_encountered_inside_a_conditional_expression.
lea ecx, [esp + 0x4c]
call fcn.00403b40
lea eax, [esp + 0x48]
mov dword [esp + 0xcc], 6
push eax
mov eax, dword [esi]
mov ecx, ebp
sub eax, dword [ebp + 0x54]
push eax
push 2
call fcn.0045c380
lea ecx, [esp + 0x48]
call fcn.0041f100
jmp 0x462581
add ecx, dword [ecx + 4]
cmp dword [ecx], 0x1b
jne 0x46235e
cmp dword [ecx + 8], 0x270f
jne 0x46235e
dec dword [esi]
mov edx, dword [esi]
mov edi, dword [ebp + 4]
movzx eax, byte [edx]
mov ecx, dword [edi]
mov al, byte [eax + ecx + 4]
cmp al, 1
je 0x462490
lea esp, [esp]
dec edx
mov dword [esi], edx
mov ecx, dword [edi]
movzx eax, byte [edx]
mov al, byte [eax + ecx + 4]
cmp al, 1
jne 0x462480
push str.Alternation_operators_are_not_allowed_inside_a_DEFINE_block.
lea ecx, [esp + 0x4c]
call fcn.00403b40
lea eax, [esp + 0x48]
mov dword [esp + 0xcc], 7
push eax
mov eax, dword [esi]
mov ecx, ebp
sub eax, dword [ebp + 0x54]
push eax
push 2
call fcn.0045c380
lea ecx, [esp + 0x48]
call fcn.0041f100
jmp 0x462581
push 0x10
push 1
mov ecx, ebp
call fcn.00459a70
mov dword [eax + 8], ebx
mov ecx, dword [ebp]
mov ecx, dword [ecx + 0x14]
shr ecx, 0x14
and cl, 1
mov byte [eax + 0xc], cl
mov eax, dword [esp + 0x2c]
mov dword [ebp + 0x6c], eax
mov eax, dword [esp + 0x3c]
mov dword [ebp + 0x70], eax
mov al, byte [esp + 0x1b]
mov byte [ebp + 0x74], al
mov eax, dword [ebp + 0x68]
cmp eax, dword [ebp + 0x60]
jbe 0x462508
mov dword [ebp + 0x60], eax
mov eax, dword [esp + 0x38]
mov dword [ebp + 0x64], eax
mov eax, dword [esp + 0x34]
mov dword [ebp + 0x68], eax
test ebx, ebx
jle 0x462550
mov ecx, dword [ebp]
test dword [ecx + 0x14], 0x800000
je 0x46253e
mov esi, dword [esi]
lea eax, [ebx - 1]
sub esi, dword [ebp + 0x54]
add ecx, 0x144
push eax
dec esi
call fcn.00459cd0
mov dword [eax + 4], esi
cmp ebx, 0x20
jge 0x462550
lea ecx, [ebx - 1]
mov eax, 1
shl eax, cl
or dword [ebp + 0x18], eax
mov al, 1
jmp 0x462583
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
je 0x462572
dec edx
mov dword [esi], edx
mov eax, dword [edi]
movzx ecx, byte [edx]
cmp byte [ecx + eax + 4], 1
jne 0x462563
mov eax, dword [esi]
sub eax, dword [ebp + 0x54]
push eax
push 0x14
mov ecx, ebp
call fcn.0045c2c0
xor al, al
mov ecx, dword [esp + 0xc4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xac]
xor ecx, esp
call fcn.00424094
add esp, 0xbc
ret