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

Disassembly:
push 0xffffffffffffffff
push 0x47e257
mov eax, dword fs:[0]
push eax
sub esp, 0xc0
mov eax, dword [0x4997d0]
xor eax, esp
mov dword [esp + 0xbc], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4997d0]
xor eax, esp
push eax
lea eax, [esp + 0xd4]
mov dword fs:[0], eax
mov esi, ecx
inc dword [esi + 0x64]
mov eax, dword [esi + 0x64]
mov ebx, dword [esi + 0x60]
mov edx, dword [esi + 4]
lea edi, [esi + 0x64]
cmp eax, ebx
jne 0x43e6fd
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
je 0x43e6f2
nop
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43e6e0
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x43f7fb
movzx ecx, byte [eax]
mov ebp, dword [edx]
mov cl, byte [ecx + ebp + 4]
cmp cl, 0xd
jne 0x43e72c
jmp 0x43e710
cmp eax, ebx
je 0x43e725
mov cl, byte [eax]
inc eax
mov dword [edi], eax
mov esi, dword [edx]
movzx ecx, cl
cmp byte [ecx + esi + 4], 2
jne 0x43e710
mov al, 1
jmp 0x43f806
xor ebx, ebx
push 0x10
push ebx
mov ecx, esi
mov dword [esp + 0x28], ebx
call fcn.00437d20
mov edx, dword [esi]
mov ebp, eax
mov eax, dword [edx + 0x18]
shr eax, 0x14
and al, 1
mov byte [ebp + 0xc], al
mov eax, dword [esi]
mov edx, dword [eax + 0x13c]
mov ecx, ebp
sub ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x78]
mov dword [esp + 0x40], ecx
mov ecx, edx
mov edx, dword [eax + 0x140]
sub edx, ecx
add edx, 3
and edx, 0xfffffffc
add edx, ecx
mov dword [eax + 0x140], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x140]
sub ecx, dword [eax + 0x13c]
mov dl, byte [esi + 0x7c]
mov dword [esi + 0x78], ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x6c]
mov byte [esi + 0x7c], bl
mov ebx, dword [edi]
mov byte [esp + 0x17], dl
mov edx, dword [esi + 0x70]
mov dword [esp + 0x38], ecx
mov ecx, dword [esi + 0x68]
mov dword [esi + 0x70], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 0x6c], 0xffffffff
mov bl, byte [ebx]
mov dword [esp + 0x3c], edx
mov edx, dword [ecx]
mov byte [esp + 0x16], bl
movzx ebx, bl
movzx edx, byte [ebx + edx + 4]
dec edx
mov byte [esp + 0x1f], 1
cmp edx, 0x34
ja case.0x43e7e6.3
movzx edx, byte [edx + 0x43f864]
jmp dword [edx*4 + 0x43f830]
mov eax, dword [esi + 0x68]
mov dword [esi + 0x6c], eax
xor eax, eax
mov dword [ebp + 8], eax
inc dword [edi]
mov dword [esp + 0x18], eax
jmp 0x43f424
mov eax, dword [esi + 0x60]
push ecx
push 0xa
push eax
push edi
call fcn.00438110
mov ebx, eax
add esp, 0x10
test ebx, ebx
js 0x43e82e
mov ecx, dword [edi]
mov eax, dword [esi + 4]
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 2
je 0x43f38b
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx ebx, byte [eax]
mov ecx, dword [ecx]
mov edx, 1
cmp byte [ebx + ecx + 4], dl
je 0x43e857
sub eax, edx
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx ebx, byte [eax]
mov ecx, dword [ecx]
cmp byte [ebx + ecx + 4], dl
jne 0x43e845
push str.The_recursive_sub_expression_refers_to_an_invalid_marking_group__or_is_unterminated.
lea ecx, [esp + 0x64]
call fcn.00401c41
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x60]
push eax
push ecx
push 0x14
mov ecx, esi
mov dword [esp + 0xe8], 0
call fcn.0043ac20
lea ecx, [esp + 0x60]
call fcn.00401d1a
jmp 0x43f804
mov eax, dword [edi]
inc eax
push ecx
mov dword [edi], eax
mov eax, dword [esi + 0x60]
push 0xa
push eax
push edi
call fcn.00438110
mov ebx, eax
add esp, 0x10
test ebx, ebx
jle 0x43e8c6
mov edx, dword [edi]
mov eax, dword [esi + 4]
movzx ecx, byte [edx]
mov eax, dword [eax]
cmp byte [ecx + eax + 4], 2
jne 0x43e8c6
add ebx, dword [esi + 0x68]
jmp 0x43f38b
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
mov ebx, 1
cmp byte [edx + ecx + 4], bl
je 0x43e8f2
lea ecx, [ecx]
sub eax, ebx
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], bl
jne 0x43e8e0
push str.An_invalid_or_unterminated_recursive_sub_expression.
lea ecx, [esp + 0x80]
call fcn.00401c41
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x7c]
push eax
push ecx
push 0x14
mov ecx, esi
mov dword [esp + 0xe8], ebx
call fcn.0043ac20
lea ecx, [esp + 0x7c]
call fcn.00401d1a
jmp 0x43f804
mov eax, dword [edi]
inc eax
push ecx
mov dword [edi], eax
mov eax, dword [esi + 0x60]
push 0xa
push eax
push edi
call fcn.00438110
add esp, 0x10
test eax, eax
jg 0x43e98c
dec dword [edi]
mov ecx, esi
call fcn.0043d9a0
mov ebx, eax
mov eax, dword [edi]
cmp eax, dword [esi + 0x60]
jne 0x43f3b0
mov ecx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x43f7f7
sub eax, ecx
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], cl
jne 0x43e975
jmp 0x43f7f7
mov ebx, dword [esi + 0x68]
sub ebx, eax
inc ebx
test ebx, ebx
jg 0x43f38b
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43e9c2
lea ecx, [ecx]
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43e9b0
push str.An_invalid_or_unterminated_recursive_sub_expression.
lea ecx, [esp + 0x9c]
call fcn.00401c41
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x98]
push eax
push ecx
push 0x14
mov ecx, esi
mov dword [esp + 0xe8], 2
call fcn.0043ac20
lea ecx, [esp + 0x98]
call fcn.00401d1a
jmp 0x43f804
or eax, 0xffffffff
push 0xc
mov dword [ebp + 8], eax
inc dword [edi]
push 0x10
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.00437d20
mov ecx, dword [esi]
sub eax, dword [ecx + 0x13c]
mov edx, dword [ecx + 0x140]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x13c]
sub edx, eax
add edx, 3
and edx, 0xfffffffc
add edx, eax
mov dword [ecx + 0x140], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x140]
sub ecx, dword [eax + 0x13c]
mov dword [esi + 0x78], ecx
jmp 0x43f424
mov eax, 0xfffffffe
jmp 0x43ea09
mov edx, dword [edi]
inc edx
mov dword [edi], edx
cmp edx, dword [esi + 0x60]
jne 0x43ea9a
lea eax, [edx - 1]
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x43ea93
sub eax, ecx
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], cl
jne 0x43ea81
mov eax, dword [edi]
jmp 0x43f7f7
movzx ebx, byte [edx]
mov ecx, dword [ecx]
mov cl, byte [ebx + ecx + 4]
cmp cl, 0x35
jne 0x43eaaf
mov eax, 0xfffffffe
jmp 0x43eab7
cmp cl, 0x25
jne 0x43eb05
or eax, 0xffffffff
push 0xc
mov dword [ebp + 8], eax
inc dword [edi]
push 0x10
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.00437d20
mov ecx, dword [esi]
sub eax, dword [ecx + 0x13c]
push 0x10
push 0x1a
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.00437d20
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
jmp 0x43ea45
dec edx
mov byte [esp + 0x16], 0x3e
mov dword [edi], edx
jmp 0x43f134
mov eax, 0xfffffffd
jmp 0x43ea09
mov eax, 0xfffffffc
mov dword [ebp + 8], eax
inc dword [edi]
mov ecx, dword [edi]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x60]
cmp ecx, eax
jne 0x43eb60
lea eax, [ecx - 1]
mov ecx, dword [esi + 4]
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43eb59
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x43eb47
mov eax, dword [edi]
jmp 0x43f7f7
mov ecx, dword [esi + 4]
push ecx
push 0xa
push eax
push edi
call fcn.00438110
mov ecx, dword [edi]
mov dl, byte [ecx]
add esp, 0x10
mov ebx, eax
cmp dl, 0x52
jne 0x43ecc9
mov edx, dword [esi + 0x60]
inc ecx
mov dword [edi], ecx
cmp ecx, edx
jne 0x43ebbd
mov eax, dword [esi + 4]
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x43ebb2
mov eax, ecx
lea ecx, [ecx]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43eba0
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x43f7fb
cmp byte [ecx], 0x26
jne 0x43ec29
inc ecx
mov dword [esp + 0x24], ecx
mov dword [edi], ecx
cmp ecx, edx
je 0x43ebea
mov ebx, dword [esi + 4]
mov eax, dword [edi]
movzx ebp, byte [eax]
mov ecx, dword [ebx]
cmp byte [ecx + ebp + 4], 2
je 0x43ebe6
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x43ebd0
mov ecx, dword [esp + 0x24]
mov eax, dword [edi]
cmp eax, edx
jne 0x43ec1d
mov edx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
je 0x43f7f7
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43ec06
jmp 0x43f7f7
push eax
push ecx
call fcn.00436e70
add esp, 8
jmp 0x43ec39
mov eax, dword [esi + 4]
push eax
push 0xa
push edx
push edi
call fcn.00438110
add esp, 0x10
push 0x10
mov ebp, eax
push 0x1b
mov ecx, esi
neg ebp
call fcn.00437d20
test ebp, ebp
jns 0x43ec4f
dec ebp
jmp 0x43ec51
xor ebp, ebp
mov dword [eax + 8], ebp
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx ebx, byte [eax]
mov edx, dword [ecx]
cmp byte [ebx + edx + 4], 2
je 0x43ec8f
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f7f7
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x43ec78
jmp 0x43f7f7
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x43f424
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43ecc2
lea ebx, [ebx]
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x43ecb0
mov eax, dword [edi]
jmp 0x43f7f7
cmp dl, 0x27
je 0x43ef9e
cmp dl, 0x3c
je 0x43ef9e
cmp dl, 0x44
jne 0x43edc8
mov ebp, dword [esi + 0x60]
mov ecx, str.DEFINE
lea esp, [esp]
mov eax, dword [edi]
cmp eax, ebp
je 0x43ed05
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x43ed05
inc eax
inc ecx
mov dword [edi], eax
cmp byte [ecx], 0
jne 0x43ecf0
mov eax, dword [edi]
cmp eax, ebp
je 0x43ed9b
cmp byte [ecx], 0
jne 0x43ed9b
push 0x10
push 0x1b
mov ecx, esi
call fcn.00437d20
mov dword [eax + 8], 0x270f
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx ebx, byte [eax]
mov edx, dword [ecx]
cmp byte [ebx + edx + 4], 2
je 0x43ed67
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f7f7
mov edi, edi
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x43ed50
jmp 0x43f7f7
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x43f424
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43ed94
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x43ed82
mov eax, dword [edi]
jmp 0x43f7f7
mov edx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
je 0x43f7f7
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43edb1
jmp 0x43f7f7
test ebx, ebx
jle 0x43ee4d
push 0x10
push 0x1b
mov ecx, esi
call fcn.00437d20
mov dword [eax + 8], ebx
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx ebx, byte [eax]
mov edx, dword [ecx]
cmp byte [ebx + edx + 4], 2
je 0x43ee19
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f7f7
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x43ee02
jmp 0x43f7f7
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x43f424
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43ee46
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x43ee34
mov eax, dword [edi]
jmp 0x43f7f7
mov eax, dword [esi + 4]
mov ebx, dword [eax]
movzx edx, dl
cmp byte [edx + ebx + 4], 8
je 0x43ee8b
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x43ee82
jmp 0x43ee70
dec ecx
mov dword [edi], ecx
movzx eax, byte [ecx]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [eax + edx + 4], 1
jne 0x43ee70
sub ecx, dword [esi + 0x5c]
push ecx
jmp 0x43f7fb
mov ebp, dword [esi + 0x60]
inc ecx
mov dword [edi], ecx
cmp ecx, ebp
jne 0x43eec3
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x43eeb8
mov eax, ecx
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43eea6
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x43f7fb
movzx edx, byte [ecx]
mov ebx, dword [eax]
cmp byte [ebx + edx + 4], 0x14
jne 0x43ef58
inc ecx
mov dword [edi], ecx
cmp ecx, ebp
jne 0x43ef0d
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x43ef02
mov eax, ecx
jmp 0x43eef0
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43eef0
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x43f7fb
movzx edx, byte [ecx]
mov ebx, dword [eax]
cmp byte [ebx + edx + 4], 0x25
je 0x43ef4e
cmp byte [ebx + edx + 4], 0x35
je 0x43ef4e
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x43ef43
mov eax, ecx
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43ef31
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x43f7fb
add ecx, 0xfffffffd
mov dword [edi], ecx
jmp 0x43f424
cmp byte [ebx + edx + 4], 0x25
je 0x43ef94
cmp byte [ebx + edx + 4], 0x35
je 0x43ef94
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x43ef89
mov eax, ecx
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43ef77
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x43f7fb
add ecx, 0xfffffffe
mov dword [edi], ecx
jmp 0x43f424
mov edx, dword [esi + 0x60]
lea eax, [ecx + 1]
mov dword [edi], eax
mov ebx, eax
cmp eax, edx
je 0x43efc6
lea esp, [esp]
mov cl, byte [eax]
cmp cl, 0x3e
je 0x43efc6
cmp cl, 0x27
je 0x43efc6
inc eax
mov ecx, eax
mov dword [edi], eax
cmp ecx, dword [esi + 0x60]
jne 0x43efb0
mov eax, dword [edi]
cmp eax, edx
jne 0x43eff9
mov ecx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f7f7
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x43efe2
jmp 0x43f7f7
push eax
push ebx
call fcn.00436e70
add esp, 8
push 0x10
push 0x1b
mov ecx, esi
mov ebx, eax
call fcn.00437d20
mov dword [eax + 8], ebx
mov eax, dword [edi]
mov cl, byte [eax]
cmp cl, 0x3e
je 0x43f021
cmp cl, 0x27
jne 0x43f02b
mov ebx, dword [esi + 0x60]
inc eax
mov dword [edi], eax
cmp eax, ebx
jne 0x43f08d
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f052
mov edi, edi
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43f040
push str.Unterminated_named_capture.
lea ecx, [esp + 0x48]
call fcn.00401c41
mov dword [esp + 0xdc], 3
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x44]
push eax
push ecx
push 0x14
mov ecx, esi
call fcn.0043ac20
lea ecx, [esp + 0x44]
call fcn.00401d1a
jmp 0x43f804
mov ecx, dword [esi + 4]
movzx ebp, byte [eax]
mov edx, dword [ecx]
cmp byte [edx + ebp + 4], 2
je 0x43f0c9
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f0c2
jmp 0x43f0b0
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x43f0b0
mov eax, dword [edi]
jmp 0x43f7f7
inc eax
mov dword [edi], eax
cmp eax, ebx
jne 0x43f424
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f0f5
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x43f0e3
mov eax, dword [edi]
jmp 0x43f7f7
mov eax, dword [edi]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x43f7f7
sub eax, ecx
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], cl
jne 0x43f115
jmp 0x43f7f7
mov cl, byte [esp + 0x16]
mov byte [esp + 0x16], cl
xor ebx, ebx
test dword [eax + 0x18], 0x400000
mov dword [esp + 0x18], ebx
jne 0x43f17d
mov ecx, dword [esi + 0x68]
inc ecx
mov dword [esi + 0x68], ecx
test dword [eax + 0x18], 0x800000
mov ebx, ecx
mov dword [esp + 0x18], ebx
je 0x43f17d
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea edx, [esp + 0x24]
add ecx, 0xfffffffe
mov dword [esp + 0x24], ecx
push edx
lea ecx, [eax + 0x148]
mov dword [esp + 0x2c], 0
call fcn.0043d0a0
mov dword [ebp + 8], ebx
inc dword [edi]
mov eax, dword [edi]
mov ebp, dword [esi + 0x60]
mov ecx, eax
cmp eax, ebp
jne 0x43f1c0
mov edx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
je 0x43f1b2
nop
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43f1a0
mov edx, dword [edi]
sub edx, dword [esi + 0x5c]
push edx
jmp 0x43f7fb
mov dl, byte [esp + 0x16]
cmp byte [eax], dl
je 0x43f1d0
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x43f1c0
mov eax, dword [edi]
cmp eax, ebp
jne 0x43f207
mov edx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
je 0x43f7f7
lea esp, [esp]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43f1f0
jmp 0x43f7f7
push ebx
push eax
push ecx
mov ecx, dword [esi]
call fcn.0043dc20
inc dword [edi]
jmp 0x43f424
mov al, byte [esp + 0x16]
cmp al, 0x52
jne 0x43f26b
mov eax, dword [edi]
inc eax
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [esp + 0x24], eax
movzx eax, byte [eax]
xor ebx, ebx
cmp byte [eax + edx + 4], 2
je 0x43f38b
mov eax, dword [esp + 0x24]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x43f264
sub eax, ecx
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], cl
jne 0x43f252
mov eax, dword [edi]
jmp 0x43f7f7
cmp al, 0x26
jne 0x43f2d2
mov eax, dword [edi]
inc eax
mov dword [edi], eax
mov dword [esp + 0x24], eax
cmp eax, dword [esi + 0x60]
je 0x43f294
lea ecx, [ecx]
movzx ebx, byte [eax]
mov edx, dword [ecx]
cmp byte [ebx + edx + 4], 2
je 0x43f294
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x43f280
mov eax, dword [edi]
cmp eax, dword [esi + 0x60]
jne 0x43f2c7
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f7f7
mov edi, edi
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x43f2b0
jmp 0x43f7f7
push eax
mov eax, dword [esp + 0x28]
push eax
jmp 0x43f381
cmp al, 0x50
jne 0x43e947
mov eax, dword [edi]
mov edx, dword [esi + 0x60]
inc eax
mov dword [edi], eax
cmp eax, edx
jne 0x43f319
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x43f312
lea esp, [esp]
sub eax, ecx
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], cl
jne 0x43f300
mov eax, dword [edi]
jmp 0x43f7f7
cmp byte [eax], 0x3e
jne 0x43e947
lea ebx, [eax + 1]
mov dword [esp + 0x24], ebx
mov dword [edi], ebx
cmp ebx, edx
je 0x43f34a
nop
mov eax, dword [edi]
movzx ebx, byte [eax]
mov edx, dword [ecx]
cmp byte [ebx + edx + 4], 2
je 0x43f346
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x60]
jne 0x43f330
mov ebx, dword [esp + 0x24]
mov eax, dword [edi]
cmp eax, dword [esi + 0x60]
jne 0x43f37f
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x43f7f7
sub eax, ecx
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], cl
jne 0x43f368
jmp 0x43f7f7
push eax
push ebx
call fcn.00436e70
mov ebx, eax
add esp, 8
xor eax, eax
push 0x10
push 0x1d
mov ecx, esi
mov dword [esp + 0x20], eax
mov dword [ebp + 8], eax
call fcn.00437d20
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0
mov eax, dword [esi]
mov ebx, dword [eax + 0x18]
jmp 0x43f410
mov eax, dword [esi]
mov eax, dword [eax + 0x18]
shr eax, 0x14
mov ecx, ebx
shr ecx, 0x14
xor cl, al
and cl, 1
mov byte [esi + 0x7c], cl
xor eax, eax
mov dword [ebp + 8], eax
mov edx, dword [edi]
mov ecx, dword [esi + 4]
mov ebp, dword [ecx]
mov dword [esp + 0x18], eax
movzx eax, byte [edx]
cmp byte [eax + ebp + 4], 2
jne 0x43f3f5
push ebx
mov ecx, esi
call fcn.004361d0
mov dl, byte [esi + 0x7c]
or byte [esp + 0x17], dl
mov byte [esp + 0x1f], 0
jmp 0x43f40a
cmp byte [eax + ebp + 4], 0x24
jne 0x43f7d4
push ebx
mov ecx, esi
call fcn.004361d0
inc dword [edi]
cmp byte [esi + 0x7c], 0
je 0x43f424
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.00437d20
mov byte [eax + 8], bl
mov eax, dword [edi]
cmp eax, dword [esi + 0x60]
je 0x43f436
mov edx, dword [esi + 0x58]
mov ecx, esi
call edx
test al, al
jne 0x43f424
mov eax, dword [esp + 0x30]
push eax
mov ecx, esi
call fcn.0043ae10
test al, al
jne 0x43f490
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f472
lea esp, [esp]
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43f460
push str.Invalid_alternation_operators_within___...__block.
lea ecx, [esp + 0x48]
call fcn.00401c41
mov dword [esp + 0xdc], 4
jmp 0x43f06b
mov eax, dword [edi]
mov ecx, dword [esi + 0x60]
cmp eax, ecx
jne 0x43f4cd
mov ebx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], 1
je 0x43f4c2
jmp 0x43f4b0
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
cmp byte [edx + ebx + 4], 1
jne 0x43f4b0
sub ecx, dword [esi + 0x5c]
push ecx
push 8
jmp 0x43f7fd
inc eax
cmp byte [esp + 0x1f], 0
mov dword [edi], eax
je 0x43f501
cmp byte [esi + 0x7c], 0
je 0x43f4f5
mov ebx, dword [esp + 0x2c]
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.00437d20
mov byte [eax + 8], bl
mov eax, dword [esp + 0x2c]
push eax
mov ecx, esi
call fcn.004361d0
mov ebx, dword [esp + 0x20]
test ebx, ebx
je 0x43f590
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
mov eax, dword [esi]
mov edx, dword [eax + 0x13c]
lea ecx, [edx + ebx]
mov ebx, dword [eax + 0x140]
sub ebx, edx
sub ebx, ecx
add ebx, edx
mov dword [ecx + 8], ebx
cmp dword [esi + 8], ecx
jne 0x43f590
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f572
lea ecx, [ecx]
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43f560
push str.Invalid_or_empty_zero_width_assertion.
lea ecx, [esp + 0x48]
call fcn.00401c41
mov dword [esp + 0xdc], 5
jmp 0x43f06b
mov ebp, dword [esp + 0x18]
cmp ebp, 0xfffffffc
jne 0x43f74d
mov edx, dword [esi]
mov eax, dword [edx + 0x13c]
mov ebx, dword [esp + 0x34]
add eax, ebx
cmp dword [eax], 0x11
je 0x43f667
push 0x110
push 0x11
push ebx
mov ecx, esi
call fcn.00437010
mov ecx, dword [esi]
mov edx, dword [ecx + 0x13c]
mov ebp, dword [ecx + 0x140]
sub ebp, edx
sub ebp, eax
add ebp, edx
mov dword [eax + 8], ebp
mov ebp, dword [esp + 0x18]
mov edx, dword [esi]
mov eax, dword [edx + 0x13c]
add eax, ebx
add eax, dword [eax + 4]
mov eax, dword [eax]
cmp eax, 0x1b
je 0x43f74d
test eax, eax
je 0x43f74d
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f623
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43f611
push str.A_repetition_operator_cannot_be_applied_to_a_zero_width_assertion.
lea ecx, [esp + 0xb8]
call fcn.00401c41
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0xb4]
push eax
push ecx
push 0xd
mov ecx, esi
mov dword [esp + 0xe8], 8
call fcn.0043ac20
lea ecx, [esp + 0xb4]
call fcn.00401d1a
jmp 0x43f804
mov ecx, dword [eax + 8]
cmp dword [eax + ecx], 0x11
jne 0x43f6d0
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f695
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43f683
push str.More_than_one_alternation_operator__was_encountered_inside_a_conditional_expression.
lea ecx, [esp + 0x48]
call fcn.00401c41
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x44]
push eax
push ecx
push 2
mov ecx, esi
mov dword [esp + 0xe8], 6
call fcn.0043ac20
lea ecx, [esp + 0x44]
call fcn.00401d1a
jmp 0x43f804
add eax, dword [eax + 4]
cmp dword [eax], 0x1b
jne 0x43f5de
cmp dword [eax + 8], 0x270f
jne 0x43f5de
dec dword [edi]
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f712
lea esp, [esp]
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x43f700
push str.Alternation_operators_are_not_allowed_inside_a_DEFINE_block.
lea ecx, [esp + 0x48]
call fcn.00401c41
mov ecx, dword [edi]
sub ecx, dword [esi + 0x5c]
lea eax, [esp + 0x44]
push eax
push ecx
push 2
mov ecx, esi
mov dword [esp + 0xe8], 7
call fcn.0043ac20
lea ecx, [esp + 0x44]
call fcn.00401d1a
jmp 0x43f804
push 0x10
push 1
mov ecx, esi
call fcn.00437d20
mov dword [eax + 8], ebp
mov edx, dword [esi]
mov ecx, dword [edx + 0x18]
mov edx, dword [esp + 0x30]
shr ecx, 0x14
and cl, 1
mov byte [eax + 0xc], cl
mov eax, dword [esp + 0x40]
mov cl, byte [esp + 0x17]
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x70]
mov dword [esi + 0x74], edx
mov byte [esi + 0x7c], cl
cmp eax, dword [esi + 0x68]
jbe 0x43f789
mov dword [esi + 0x68], eax
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x6c], edx
mov dword [esi + 0x70], eax
test ebp, ebp
jle 0x43f7d0
mov eax, dword [esi]
test dword [eax + 0x18], 0x800000
je 0x43f7be
mov edi, dword [edi]
sub edi, dword [esi + 0x5c]
lea ecx, [ebp - 1]
push ecx
lea ecx, [eax + 0x148]
dec edi
call fcn.004363b0
mov dword [eax + 4], edi
cmp ebp, 0x20
jge 0x43f7d0
lea ecx, [ebp - 1]
mov edx, 1
shl edx, cl
or dword [esi + 0x18], edx
mov al, 1
jmp 0x43f806
lea eax, [edx - 1]
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x43f7f7
dec eax
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x43f7e5
sub eax, dword [esi + 0x5c]
push eax
push 0x14
mov ecx, esi
call fcn.0043c540
xor al, al
mov ecx, dword [esp + 0xd4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xbc]
xor ecx, esp
call fcn.0044b3ec
add esp, 0xcc
ret
sub esp, 0x14
push ebx
push esi
mov esi, ecx
mov ebx, 1
add dword [esi + 0x64], ebx
mov eax, dword [esi + 0x64]
cmp eax, dword [esi + 0x60]
jne 0x4425ea
sub eax, dword [esi + 0x5c]
push eax
push 8
call fcn.0043c540
pop esi
xor al, al
pop ebx
add esp, 0x14
ret
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
push ebp
push edi
test edx, 0x203
je 0x442609
mov edi, edx
and edi, 0x1003
cmp edi, 0x1001
jne 0x442626
mov edi, dword [esi + 4]
movzx ebp, byte [eax]
mov edi, dword [edi]
cmp byte [edi + ebp + 4], 8
jne 0x442626
pop edi
pop ebp
mov ecx, esi
pop esi
pop ebx
add esp, 0x14
jmp 0x43e680
xor edi, edi
test edx, 0x400000
jne 0x442660
add dword [esi + 0x68], ebx
test dword [ecx + 0x18], 0x800000
mov edi, dword [esi + 0x68]
je 0x442660
sub eax, dword [esi + 0x5c]
add ecx, 0x148
sub eax, ebx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x24], 0
call fcn.0043d0a0
push 0x10
push 0
mov ecx, esi
call fcn.00437d20
mov dword [eax + 8], edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
shr edx, 0x14
and dl, bl
mov byte [eax + 0xc], dl
mov ecx, dword [esi]
sub eax, dword [ecx + 0x13c]
mov edx, dword [ecx + 0x140]
mov ebx, eax
mov eax, dword [esi + 0x78]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0x13c]
sub edx, eax
add edx, 3
and edx, 0xfffffffc
add edx, eax
mov dword [ecx + 0x140], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x140]
sub ecx, dword [eax + 0x13c]
mov dl, byte [esi + 0x7c]
mov dword [esi + 0x78], ecx
mov ebp, dword [eax + 0x18]
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x14], ebx
mov byte [esp + 0x13], dl
mov byte [esi + 0x7c], 0
mov dword [esp + 0x18], eax
mov dword [esi + 0x6c], 0xffffffff
lea esp, [esp]
mov ecx, dword [esi + 0x64]
cmp ecx, dword [esi + 0x60]
je 0x4426f3
mov edx, dword [esi + 0x58]
mov ecx, esi
call edx
test al, al
jne 0x4426e0
push ebx
mov ecx, esi
call fcn.0043ae10
test al, al
je 0x442758
cmp byte [esi + 0x7c], 0
je 0x44271f
mov ebx, ebp
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.00437d20
mov byte [eax + 8], bl
mov ebx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [eax + 0x18], ebp
mov eax, ebp
shr eax, 0x14
and al, 1
cmp byte [esi + 0xc], al
je 0x442733
mov byte [esi + 0xc], al
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0x60]
mov dl, byte [esp + 0x13]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x64]
mov byte [esi + 0x7c], dl
cmp eax, ecx
jne 0x442762
sub ecx, dword [esi + 0x5c]
push ecx
push 8
mov ecx, esi
call fcn.0043c540
pop edi
pop ebp
pop esi
xor al, al
pop ebx
add esp, 0x14
ret
test edi, edi
je 0x442788
mov ecx, dword [esi]
test dword [ecx + 0x18], 0x800000
je 0x442788
sub eax, dword [esi + 0x5c]
lea edx, [edi - 1]
push edx
add ecx, 0x148
mov ebp, eax
call fcn.004363b0
mov dword [eax + 4], ebp
inc dword [esi + 0x64]
push 0x10
push 1
mov ecx, esi
call fcn.00437d20
mov dword [eax + 8], edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x18]
shr edx, 0x14
and dl, 1
mov byte [eax + 0xc], dl
mov eax, dword [esp + 0x1c]
lea ecx, [edi - 1]
mov dword [esi + 0x74], ebx
mov dword [esi + 0x78], eax
cmp ecx, 0x1e
ja 0x4427c3
mov edx, 1
shl edx, cl
or dword [esi + 0x18], edx
pop edi
pop ebp
pop esi
mov al, 1
pop ebx
add esp, 0x14
ret