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

Disassembly:
push 0xffffffffffffffff
push 0x587987
mov eax, dword fs:[0]
push eax
sub esp, 0xbc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5ed130]
xor eax, esp
push eax
lea eax, [esp + 0xd0]
mov dword fs:[0], eax
mov esi, ecx
inc dword [esi + 0x74]
mov eax, dword [esi + 0x74]
mov ebx, dword [esi + 0x70]
lea edi, [esi + 0x74]
cmp eax, ebx
jne 0x46e06f
mov ecx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx eax, byte [eax]
mov edx, dword [ecx]
cmp byte [eax + edx + 4], 1
je 0x46e064
dec dword [edi]
mov eax, dword [edi]
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x46e051
mov ecx, dword [edi]
sub ecx, dword [esi + 0x6c]
push ecx
jmp 0x46f1fe
mov edx, dword [esi + 4]
movzx ecx, byte [eax]
mov ebp, dword [edx]
mov cl, byte [ecx + ebp + 4]
cmp cl, 0xd
jne 0x46e09c
cmp eax, ebx
je 0x46e095
mov cl, byte [eax]
inc eax
mov dword [edi], eax
mov esi, dword [edx]
movzx ecx, cl
cmp byte [ecx + esi + 4], 2
jne 0x46e080
mov al, 1
jmp 0x46f209
xor ebx, ebx
push 0x10
push ebx
mov ecx, esi
mov dword [esp + 0x30], ebx
call fcn.0045ede0
mov edx, dword [esi]
mov ebp, eax
mov eax, dword [edx + 0x20]
shr eax, 0x14
and al, 1
mov byte [ebp + 0xc], al
mov eax, dword [esi]
mov edx, dword [eax + 0x144]
mov ecx, ebp
sub ecx, edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [esi + 0x88]
mov dword [esp + 0x5c], ecx
mov ecx, edx
mov edx, dword [eax + 0x148]
sub edx, ecx
add edx, 3
and edx, 0xfffffffc
add edx, ecx
mov dword [eax + 0x148], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x148]
sub ecx, dword [eax + 0x144]
mov dl, byte [esi + 0x8c]
mov dword [esi + 0x88], ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x7c]
mov byte [esi + 0x8c], bl
mov ebx, dword [edi]
mov byte [esp + 0x1e], dl
mov edx, dword [esi + 0x80]
mov dword [esp + 0x58], ecx
mov ecx, dword [esi + 0x78]
mov dword [esi + 0x80], ecx
mov ecx, dword [esi + 4]
mov dword [esi + 0x7c], 0xffffffff
mov bl, byte [ebx]
mov dword [esp + 0x54], edx
mov edx, dword [ecx]
mov byte [esp + 0x17], bl
movzx ebx, bl
movzx edx, byte [ebx + edx + 4]
dec edx
mov byte [esp + 0x1f], 1
cmp edx, 0x34
ja case.0x46e168.3
movzx edx, byte [edx + 0x46f258]
jmp dword [edx*4 + 0x46f224]
mov eax, dword [esi + 0x78]
mov dword [esi + 0x7c], eax
xor ebx, ebx
mov dword [ebp + 8], ebx
inc dword [edi]
mov dword [esp + 0x18], ebx
jmp 0x46ee1f
mov eax, dword [esi + 0x70]
push 0xa
push eax
push edi
call fcn.00413190
mov ebx, eax
test ebx, ebx
jl 0x46e1ac
mov ecx, dword [edi]
mov eax, dword [esi + 4]
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 2
je 0x46ed76
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 0x46e1d7
sub eax, edx
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov ebx, eax
movzx ebx, byte [ebx]
cmp byte [ebx + ecx + 4], dl
jne 0x46e1c3
push str.The_recursive_sub_expression_refers_to_an_invalid_marking_group__or_is_unterminated.
lea ecx, [esp + 0x80]
call fcn.00401580
mov ecx, dword [edi]
sub ecx, dword [esi + 0x6c]
lea eax, [esp + 0x7c]
push eax
push ecx
push 0x14
mov ecx, esi
mov dword [esp + 0xe4], 0
call fcn.004631d0
lea ecx, [esp + 0x7c]
mov dword [esp + 0xd8], 0xffffffff
call fcn.00401600
jmp 0x46f207
mov eax, dword [edi]
mov edx, dword [esi + 0x70]
push 0xa
push edx
inc eax
push edi
mov dword [edi], eax
call fcn.00413190
mov ebx, eax
test ebx, ebx
jle 0x46e250
mov ecx, dword [edi]
mov eax, dword [esi + 4]
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 2
jne 0x46e250
add ebx, dword [esi + 0x78]
jmp 0x46ed76
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 0x46e27b
sub eax, ebx
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov edx, eax
movzx edx, byte [edx]
cmp byte [edx + ecx + 4], bl
jne 0x46e267
push str.An_invalid_or_unterminated_recursive_sub_expression.
lea ecx, [esp + 0x64]
call fcn.00401580
mov ecx, dword [edi]
sub ecx, dword [esi + 0x6c]
lea eax, [esp + 0x60]
push eax
push ecx
push 0x14
mov ecx, esi
mov dword [esp + 0xe4], ebx
call fcn.004631d0
lea ecx, [esp + 0x60]
mov dword [esp + 0xd8], 0xffffffff
call fcn.00401600
jmp 0x46f207
mov eax, dword [edi]
mov edx, dword [esi + 0x70]
push 0xa
push edx
inc eax
push edi
mov dword [edi], eax
call fcn.00413190
test eax, eax
jg 0x46e31b
dec dword [edi]
mov ecx, esi
call fcn.00465460
mov ebx, eax
mov eax, dword [edi]
cmp eax, dword [esi + 0x70]
jne 0x46ed9e
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 0x46f1fa
sub eax, ecx
mov dword [edi], eax
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
mov edx, eax
movzx edx, byte [edx]
cmp byte [edx + ebx + 4], cl
jne 0x46e302
jmp 0x46f1fa
mov ebx, dword [esi + 0x78]
sub ebx, eax
inc ebx
test ebx, ebx
jg 0x46ed76
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 0x46e354
lea esp, [esp]
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov edx, eax
movzx edx, byte [edx]
cmp byte [edx + ecx + 4], 1
jne 0x46e340
push str.An_invalid_or_unterminated_recursive_sub_expression.
lea ecx, [esp + 0x9c]
call fcn.00401580
mov ecx, dword [edi]
sub ecx, dword [esi + 0x6c]
lea eax, [esp + 0x98]
push eax
push ecx
push 0x14
mov ecx, esi
mov dword [esp + 0xe4], 2
call fcn.004631d0
lea ecx, [esp + 0x98]
mov dword [esp + 0xd8], 0xffffffff
call fcn.00401600
jmp 0x46f207
or ebx, 0xffffffff
push 0xc
mov dword [ebp + 8], ebx
inc dword [edi]
push 0x10
mov ecx, esi
mov dword [esp + 0x20], ebx
call fcn.0045ede0
mov ecx, dword [esi]
sub eax, dword [ecx + 0x144]
mov edx, dword [ecx + 0x148]
mov dword [esp + 0x28], eax
mov eax, dword [ecx + 0x144]
sub edx, eax
add edx, 3
and edx, 0xfffffffc
add edx, eax
mov dword [ecx + 0x148], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x148]
add eax, 0x140
sub ecx, dword [eax + 4]
mov dword [esi + 0x88], ecx
jmp 0x46ee1f
mov ebx, 0xfffffffe
jmp 0x46e3a6
mov edx, dword [edi]
inc edx
mov dword [edi], edx
cmp edx, dword [esi + 0x70]
jne 0x46e439
lea eax, [edx - 1]
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
mov al, 1
cmp byte [edx + ecx + 4], al
je 0x46e432
dec dword [edi]
mov edx, dword [edi]
movzx ecx, byte [edx]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], al
jne 0x46e420
mov eax, dword [edi]
jmp 0x46f1fa
movzx ebx, byte [edx]
mov ecx, dword [ecx]
mov cl, byte [ebx + ecx + 4]
cmp cl, 0x35
jne 0x46e44e
mov ebx, 0xfffffffe
jmp 0x46e456
cmp cl, 0x25
jne 0x46e4a6
or ebx, 0xffffffff
push 0xc
mov dword [ebp + 8], ebx
inc dword [edi]
push 0x10
mov ecx, esi
mov dword [esp + 0x20], ebx
call fcn.0045ede0
mov ecx, dword [esi]
sub eax, dword [ecx + 0x144]
push 0x10
push 0x1a
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.0045ede0
mov eax, dword [esi]
mov ecx, dword [eax + 0x144]
mov edx, dword [eax + 0x148]
add eax, 0x140
sub edx, ecx
add edx, 3
and edx, 0xfffffffc
add edx, ecx
mov dword [eax + 8], edx
jmp 0x46e3e2
dec edx
mov byte [esp + 0x17], 0x3e
mov dword [edi], edx
jmp 0x46eb24
mov ebx, 0xfffffffd
jmp 0x46e3a6
mov ebx, 0xfffffffc
mov dword [ebp + 8], ebx
inc dword [edi]
mov ecx, dword [edi]
mov eax, dword [esi + 0x70]
mov dword [esp + 0x18], ebx
cmp ecx, eax
jne 0x46e502
lea eax, [ecx - 1]
mov dword [edi], eax
movzx edx, byte [eax]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
cmp byte [edx + ecx + 4], 1
je 0x46e4fb
dec dword [edi]
mov edx, dword [edi]
movzx eax, byte [edx]
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
cmp byte [eax + edx + 4], 1
jne 0x46e4e8
mov eax, dword [edi]
jmp 0x46f1fa
mov ecx, dword [esi + 4]
push 0xa
push eax
push edi
call fcn.00413190
mov ecx, dword [edi]
mov ebp, dword [esi + 0x70]
mov dword [esp + 0x20], eax
cmp ecx, ebp
jne 0x46e54c
mov edx, dword [esi + 4]
lea eax, [ecx - 1]
mov dword [edi], eax
movzx ecx, byte [eax]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
je 0x46f1fa
dec eax
mov dword [edi], eax
mov ecx, eax
movzx edx, byte [ecx]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x46e533
jmp 0x46f1fa
mov dl, byte [ecx]
cmp dl, 0x52
jne 0x46e69e
inc ecx
mov dword [edi], ecx
cmp ecx, ebp
jne 0x46e58c
lea eax, [ecx - 1]
mov dword [edi], eax
movzx edx, byte [eax]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
cmp byte [edx + ecx + 4], 1
je 0x46e585
dec dword [edi]
mov edx, dword [edi]
movzx eax, byte [edx]
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
cmp byte [eax + edx + 4], 1
jne 0x46e572
mov eax, dword [edi]
jmp 0x46f1fa
cmp byte [ecx], 0x26
jne 0x46e605
inc ecx
mov dword [esp + 0x20], ecx
mov dword [edi], ecx
cmp ecx, ebp
je 0x46e5bd
lea esp, [esp]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
mov eax, dword [edi]
movzx edx, byte [eax]
cmp byte [edx + ecx + 4], 2
je 0x46e5b9
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x70]
jne 0x46e5a0
mov ecx, dword [esp + 0x20]
mov eax, dword [edi]
cmp eax, ebp
jne 0x46e5f9
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 0x46f1fa
lea esp, [esp]
dec eax
mov dword [edi], eax
mov ecx, eax
movzx edx, byte [ecx]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x46e5e0
jmp 0x46f1fa
push eax
push ecx
call fcn.004140a0
add esp, 8
jmp 0x46e611
mov ecx, dword [esi + 4]
push 0xa
push ebp
push edi
call fcn.00413190
push 0x10
mov ebp, eax
push 0x1b
mov ecx, esi
neg ebp
call fcn.0045ede0
test ebp, ebp
jge 0x46e627
dec ebp
jmp 0x46e629
xor ebp, ebp
mov dword [eax + 8], ebp
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx ebp, byte [eax]
mov edx, dword [ecx]
cmp byte [edx + ebp + 4], 2
je 0x46e669
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x46f1fa
dec eax
mov dword [edi], eax
mov edx, eax
movzx ecx, byte [edx]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x46e650
jmp 0x46f1fa
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x70]
jne 0x46ee1f
dec eax
mov dword [edi], eax
movzx eax, byte [eax]
mov ecx, dword [ecx]
cmp byte [eax + ecx + 4], 1
je 0x46e697
dec dword [edi]
mov edx, dword [edi]
movzx eax, byte [edx]
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
cmp byte [eax + edx + 4], 1
jne 0x46e684
mov eax, dword [edi]
jmp 0x46f1fa
cmp dl, 0x27
je 0x46e978
cmp dl, 0x3c
je 0x46e978
cmp dl, 0x44
jne 0x46e79d
mov ecx, str.DEFINE
mov edi, edi
mov eax, dword [edi]
cmp eax, ebp
je 0x46e6d5
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x46e6d5
inc eax
inc ecx
mov dword [edi], eax
cmp byte [ecx], 0
jne 0x46e6c0
mov eax, dword [edi]
cmp eax, ebp
je 0x46e76e
cmp byte [ecx], 0
jne 0x46e76e
push 0x10
push 0x1b
mov ecx, esi
call fcn.0045ede0
mov dword [eax + 8], 0x270f
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx ebp, byte [eax]
mov edx, dword [ecx]
cmp byte [edx + ebp + 4], 2
je 0x46e739
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x46f1fa
mov edi, edi
dec eax
mov dword [edi], eax
mov edx, eax
movzx ecx, byte [edx]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x46e720
jmp 0x46f1fa
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x70]
jne 0x46ee1f
dec eax
mov dword [edi], eax
movzx eax, byte [eax]
mov ecx, dword [ecx]
cmp byte [eax + ecx + 4], 1
je 0x46e767
dec dword [edi]
mov edx, dword [edi]
movzx eax, byte [edx]
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
cmp byte [eax + edx + 4], 1
jne 0x46e754
mov eax, dword [edi]
jmp 0x46f1fa
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 0x46f1fa
dec eax
mov dword [edi], eax
mov ecx, eax
movzx edx, byte [ecx]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x46e784
jmp 0x46f1fa
test eax, eax
jle 0x46e82e
push 0x10
push 0x1b
mov ecx, esi
call fcn.0045ede0
mov edx, dword [esp + 0x20]
mov dword [eax + 8], edx
mov eax, dword [edi]
mov ecx, dword [esi + 4]
movzx ebp, byte [eax]
mov edx, dword [ecx]
cmp byte [edx + ebp + 4], 2
je 0x46e7f9
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x46f1fa
jmp 0x46e7e0
dec eax
mov dword [edi], eax
mov edx, eax
movzx ecx, byte [edx]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x46e7e0
jmp 0x46f1fa
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x70]
jne 0x46ee1f
dec eax
mov dword [edi], eax
movzx eax, byte [eax]
mov ecx, dword [ecx]
cmp byte [eax + ecx + 4], 1
je 0x46e827
dec dword [edi]
mov edx, dword [edi]
movzx eax, byte [edx]
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
cmp byte [eax + edx + 4], 1
jne 0x46e814
mov eax, dword [edi]
jmp 0x46f1fa
mov eax, dword [esi + 4]
mov ebx, dword [eax]
movzx edx, dl
cmp byte [edx + ebx + 4], 8
je 0x46e86d
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x46e864
lea esp, [esp]
dec ecx
mov dword [edi], ecx
mov edx, ecx
movzx eax, byte [edx]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [eax + edx + 4], 1
jne 0x46e850
sub ecx, dword [esi + 0x6c]
push ecx
jmp 0x46f1fe
inc ecx
mov dword [edi], ecx
cmp ecx, ebp
jne 0x46e8a1
dec ecx
mov dword [edi], ecx
movzx ecx, byte [ecx]
mov edx, dword [eax]
cmp byte [ecx + edx + 4], 1
je 0x46e896
dec dword [edi]
mov eax, dword [edi]
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x46e883
mov ecx, dword [edi]
sub ecx, dword [esi + 0x6c]
push ecx
jmp 0x46f1fe
movzx edx, byte [ecx]
mov ebx, dword [eax]
cmp byte [ebx + edx + 4], 0x14
jne 0x46e92f
inc ecx
mov dword [edi], ecx
cmp ecx, ebp
jne 0x46e8e5
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x46e8da
dec dword [edi]
mov ecx, dword [edi]
movzx edx, byte [ecx]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
cmp byte [edx + ecx + 4], 1
jne 0x46e8c7
mov edx, dword [edi]
sub edx, dword [esi + 0x6c]
push edx
jmp 0x46f1fe
movzx edx, byte [ecx]
mov ebx, dword [eax]
cmp byte [ebx + edx + 4], 0x25
je 0x46e925
cmp byte [ebx + edx + 4], 0x35
je 0x46e925
dec ecx
mov dword [edi], ecx
movzx ecx, byte [ecx]
mov edx, dword [eax]
cmp byte [ecx + edx + 4], 1
je 0x46e91a
dec dword [edi]
mov eax, dword [edi]
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x46e907
mov ecx, dword [edi]
sub ecx, dword [esi + 0x6c]
push ecx
jmp 0x46f1fe
add ecx, 0xfffffffd
mov dword [edi], ecx
jmp 0x46ee1b
cmp byte [ebx + edx + 4], 0x25
je 0x46e96e
cmp byte [ebx + edx + 4], 0x35
je 0x46e96e
dec ecx
mov dword [edi], ecx
movzx edx, byte [ecx]
mov eax, dword [eax]
cmp byte [edx + eax + 4], 1
je 0x46e963
lea esp, [esp]
dec dword [edi]
mov ecx, dword [edi]
movzx edx, byte [ecx]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
cmp byte [edx + ecx + 4], 1
jne 0x46e950
mov edx, dword [edi]
sub edx, dword [esi + 0x6c]
push edx
jmp 0x46f1fe
add ecx, 0xfffffffe
mov dword [edi], ecx
jmp 0x46ee1b
lea eax, [ecx + 1]
mov dword [edi], eax
mov edx, eax
cmp eax, ebp
je 0x46e999
mov cl, byte [eax]
cmp cl, 0x3e
je 0x46e999
cmp cl, 0x27
je 0x46e999
inc eax
mov ecx, eax
mov dword [edi], eax
cmp ecx, dword [esi + 0x70]
jne 0x46e983
mov eax, dword [edi]
cmp eax, ebp
jne 0x46e9ce
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 0x46f1fa
dec eax
mov dword [edi], eax
mov edx, eax
movzx ecx, byte [edx]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x46e9b5
jmp 0x46f1fa
push eax
push edx
call fcn.004140a0
add esp, 8
push 0x10
push 0x1b
mov ecx, esi
mov ebp, eax
call fcn.0045ede0
mov dword [eax + 8], ebp
mov eax, dword [edi]
mov cl, byte [eax]
cmp cl, 0x3e
je 0x46e9f6
cmp cl, 0x27
jne 0x46ea02
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x70]
jne 0x46ea6f
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 0x46ea29
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov edx, eax
movzx edx, byte [edx]
cmp byte [edx + ecx + 4], 1
jne 0x46ea15
push str.Unterminated_named_capture.
lea ecx, [esp + 0x3c]
call fcn.00401580
mov dword [esp + 0xd8], 3
mov ecx, dword [edi]
sub ecx, dword [esi + 0x6c]
lea eax, [esp + 0x38]
push eax
push ecx
push 0x14
mov ecx, esi
call fcn.004631d0
lea ecx, [esp + 0x38]
mov dword [esp + 0xd8], 0xffffffff
call fcn.00401600
jmp 0x46f207
mov ecx, dword [esi + 4]
movzx ebp, byte [eax]
mov edx, dword [ecx]
cmp byte [edx + ebp + 4], 2
je 0x46eaae
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov eax, dword [ecx]
cmp byte [edx + eax + 4], 1
je 0x46eaa3
lea ecx, [ecx]
dec dword [edi]
mov ecx, dword [edi]
movzx edx, byte [ecx]
mov eax, dword [esi + 4]
mov ecx, dword [eax]
cmp byte [edx + ecx + 4], 1
jne 0x46ea90
mov edx, dword [edi]
sub edx, dword [esi + 0x6c]
push edx
jmp 0x46f1fe
inc eax
mov dword [edi], eax
cmp eax, dword [esi + 0x70]
jne 0x46ee1f
dec eax
mov dword [edi], eax
movzx eax, byte [eax]
mov ecx, dword [ecx]
cmp byte [eax + ecx + 4], 1
je 0x46eae3
lea esp, [esp]
dec dword [edi]
mov edx, dword [edi]
movzx eax, byte [edx]
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
cmp byte [eax + edx + 4], 1
jne 0x46ead0
mov eax, dword [edi]
jmp 0x46f1fa
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 0x46f1fa
sub eax, ecx
mov dword [edi], eax
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
mov edx, eax
movzx edx, byte [edx]
cmp byte [edx + ebx + 4], cl
jne 0x46eb03
jmp 0x46f1fa
mov cl, byte [esp + 0x17]
mov byte [esp + 0x17], cl
xor ebx, ebx
test dword [eax + 0x20], 0x400000
mov dword [esp + 0x18], ebx
jne 0x46eb6d
mov ecx, dword [esi + 0x78]
inc ecx
mov dword [esi + 0x78], ecx
test dword [eax + 0x20], 0x800000
mov ebx, ecx
mov dword [esp + 0x18], ebx
je 0x46eb6d
mov ecx, dword [edi]
sub ecx, dword [esi + 0x6c]
lea edx, [esp + 0x20]
add ecx, 0xfffffffe
mov dword [esp + 0x20], ecx
push edx
lea ecx, [eax + 0x150]
mov dword [esp + 0x28], 0
call fcn.00465f60
mov dword [ebp + 8], ebx
inc dword [edi]
mov eax, dword [edi]
mov ebp, dword [esi + 0x70]
mov ecx, eax
cmp eax, ebp
jne 0x46ebb0
mov ecx, dword [esi + 4]
dec eax
mov dword [edi], eax
movzx eax, byte [eax]
mov edx, dword [ecx]
cmp byte [eax + edx + 4], 1
je 0x46eba3
nop
dec dword [edi]
mov eax, dword [edi]
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
mov eax, dword [edx]
cmp byte [ecx + eax + 4], 1
jne 0x46eb90
mov ecx, dword [edi]
sub ecx, dword [esi + 0x6c]
push ecx
jmp 0x46f1fe
mov dl, byte [esp + 0x17]
cmp byte [eax], dl
je 0x46ebc2
inc eax
mov edx, eax
mov dword [edi], eax
cmp edx, dword [esi + 0x70]
jne 0x46ebb0
mov eax, dword [edi]
cmp eax, ebp
jne 0x46ebf9
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 0x46f1fa
mov edi, edi
dec eax
mov dword [edi], eax
mov ecx, eax
movzx edx, byte [ecx]
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
jne 0x46ebe0
jmp 0x46f1fa
push ebx
push eax
push ecx
mov ecx, dword [esi]
call fcn.0046b420
inc dword [edi]
jmp 0x46ee1f
mov al, byte [esp + 0x17]
cmp al, 0x52
jne 0x46ec5a
mov eax, dword [edi]
inc eax
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [esp + 0x20], eax
movzx eax, byte [eax]
xor ebx, ebx
cmp byte [eax + edx + 4], 2
je 0x46ed76
mov eax, dword [esp + 0x20]
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
mov al, 1
cmp byte [edx + ecx + 4], al
je 0x46ec53
dec dword [edi]
mov edx, dword [edi]
movzx ecx, byte [edx]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], al
jne 0x46ec41
mov eax, dword [edi]
jmp 0x46f1fa
cmp al, 0x26
jne 0x46ecc4
mov eax, dword [edi]
inc eax
mov dword [edi], eax
mov dword [esp + 0x20], eax
cmp eax, dword [esi + 0x70]
je 0x46ec86
lea esp, [esp]
movzx ebx, byte [eax]
mov edx, dword [ecx]
cmp byte [ebx + edx + 4], 2
je 0x46ec86
inc eax
mov edx, eax
mov dword [edi], eax
cmp edx, dword [esi + 0x70]
jne 0x46ec70
mov eax, dword [edi]
cmp eax, dword [esi + 0x70]
jne 0x46ecb9
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x46f1fa
dec eax
mov dword [edi], eax
mov edx, eax
movzx ecx, byte [edx]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x46eca0
jmp 0x46f1fa
push eax
mov eax, dword [esp + 0x24]
push eax
jmp 0x46ed6c
cmp al, 0x50
jne 0x46e2d4
mov eax, dword [edi]
mov edx, dword [esi + 0x70]
inc eax
mov dword [edi], eax
cmp eax, edx
jne 0x46ed01
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
mov al, 1
cmp byte [edx + ecx + 4], al
je 0x46ecfa
dec dword [edi]
mov edx, dword [edi]
movzx ecx, byte [edx]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], al
jne 0x46ece8
mov eax, dword [edi]
jmp 0x46f1fa
cmp byte [eax], 0x3e
jne 0x46e2d4
lea ebx, [eax + 1]
mov dword [esp + 0x20], ebx
mov dword [edi], ebx
cmp ebx, edx
je 0x46ed33
mov eax, dword [edi]
movzx ebx, byte [eax]
mov edx, dword [ecx]
cmp byte [ebx + edx + 4], 2
je 0x46ed2f
inc eax
mov edx, eax
mov dword [edi], eax
cmp edx, dword [esi + 0x70]
jne 0x46ed17
mov ebx, dword [esp + 0x20]
mov eax, dword [edi]
cmp eax, dword [esi + 0x70]
jne 0x46ed6a
dec eax
mov dword [edi], eax
movzx edx, byte [eax]
mov ebx, dword [ecx]
mov ecx, 1
cmp byte [edx + ebx + 4], cl
je 0x46f1fa
sub eax, ecx
mov dword [edi], eax
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
mov edx, eax
movzx edx, byte [edx]
cmp byte [edx + ebx + 4], cl
jne 0x46ed51
jmp 0x46f1fa
push eax
push ebx
call fcn.004140a0
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.0045ede0
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0
mov eax, dword [esi]
mov ebx, dword [eax + 0x20]
jmp 0x46ee07
mov eax, dword [esi]
mov eax, dword [eax + 0x20]
shr eax, 0x14
mov ecx, ebx
shr ecx, 0x14
xor cl, al
and cl, 1
mov byte [esi + 0x8c], 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 0x46ede9
push ebx
mov ecx, esi
call fcn.0045c5a0
mov dl, byte [esi + 0x8c]
or byte [esp + 0x1e], dl
mov byte [esp + 0x1f], 0
jmp 0x46edfe
cmp byte [eax + ebp + 4], 0x24
jne 0x46f1d5
push ebx
mov ecx, esi
call fcn.0045c5a0
inc dword [edi]
cmp byte [esi + 0x8c], 0
je 0x46ee1b
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.0045ede0
mov byte [eax + 8], bl
mov ebx, dword [esp + 0x18]
mov ecx, esi
call fcn.0045c600
mov eax, dword [esp + 0x2c]
push eax
mov ecx, esi
call fcn.004633f0
test al, al
jne 0x46ee82
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 0x46ee64
lea esp, [esp]
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov edx, eax
movzx edx, byte [edx]
cmp byte [edx + ecx + 4], 1
jne 0x46ee50
push str.Invalid_alternation_operators_within___...__block.
lea ecx, [esp + 0x3c]
call fcn.00401580
mov dword [esp + 0xd8], 4
jmp 0x46ea42
mov eax, dword [edi]
mov ecx, dword [esi + 0x70]
cmp eax, ecx
jne 0x46eebf
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 0x46eeb4
lea ecx, [ecx]
dec eax
mov dword [edi], eax
mov ebx, dword [esi + 4]
mov ebx, dword [ebx]
mov edx, eax
movzx edx, byte [edx]
cmp byte [edx + ebx + 4], 1
jne 0x46eea0
sub ecx, dword [esi + 0x6c]
push ecx
push 8
jmp 0x46f200
inc eax
cmp byte [esp + 0x1f], 0
mov dword [edi], eax
je 0x46eefa
cmp byte [esi + 0x8c], 0
je 0x46eeee
mov ebx, dword [esp + 0x30]
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.0045ede0
mov byte [eax + 8], bl
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x30]
push eax
mov ecx, esi
call fcn.0045c5a0
mov ebp, dword [esp + 0x28]
test ebp, ebp
je 0x46ef92
mov eax, dword [esi]
mov ecx, dword [eax + 0x144]
mov edx, dword [eax + 0x148]
add eax, 0x140
sub edx, ecx
add edx, 3
and edx, 0xfffffffc
add edx, ecx
mov dword [eax + 8], edx
mov eax, dword [esi]
mov edx, dword [eax + 0x144]
lea ecx, [edx + ebp]
mov ebp, dword [eax + 0x148]
sub ebp, edx
sub ebp, ecx
add ebp, edx
mov dword [ecx + 8], ebp
cmp dword [esi + 8], ecx
jne 0x46ef92
cmp ebx, 0xfffffffe
je 0x46ef92
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 0x46ef74
lea ecx, [ecx]
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov edx, eax
movzx edx, byte [edx]
cmp byte [edx + ecx + 4], 1
jne 0x46ef60
push str.Invalid_or_empty_zero_width_assertion.
lea ecx, [esp + 0x3c]
call fcn.00401580
mov dword [esp + 0xd8], 5
jmp 0x46ea42
cmp ebx, 0xfffffffc
jne 0x46f13f
mov edx, dword [esi]
mov eax, dword [edx + 0x144]
mov ecx, dword [esp + 0x34]
add eax, ecx
cmp dword [eax], 0x11
je 0x46f073
push pe_nt_image_headers32
push 0x11
push ecx
mov ecx, esi
call fcn.0045ded0
mov ecx, dword [esi]
mov edx, dword [ecx + 0x144]
mov ebp, dword [ecx + 0x148]
sub ebp, edx
sub ebp, eax
add ebp, edx
mov dword [eax + 8], ebp
mov edx, dword [esi]
mov eax, dword [edx + 0x144]
mov ecx, dword [esp + 0x34]
add eax, ecx
add eax, dword [eax + 4]
mov eax, dword [eax]
cmp eax, 0x1b
je 0x46f13f
test eax, eax
je 0x46f13f
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 0x46f024
nop
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov edx, eax
movzx edx, byte [edx]
cmp byte [edx + ecx + 4], 1
jne 0x46f010
push str.A_repetition_operator_cannot_be_applied_to_a_zero_width_assertion.
lea ecx, [esp + 0xb8]
call fcn.00401580
mov ecx, dword [edi]
sub ecx, dword [esi + 0x6c]
lea eax, [esp + 0xb4]
push eax
push ecx
push 0xd
mov ecx, esi
mov dword [esp + 0xe4], 8
call fcn.004631d0
lea ecx, [esp + 0xb4]
mov dword [esp + 0xd8], 0xffffffff
call fcn.00401600
jmp 0x46f207
mov ecx, dword [eax + 8]
cmp dword [eax + ecx], 0x11
jne 0x46f0cf
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 0x46f0a4
nop
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov edx, eax
movzx edx, byte [edx]
cmp byte [edx + ecx + 4], 1
jne 0x46f090
push str.More_than_one_alternation_operator__was_encountered_inside_a_conditional_expression.
lea ecx, [esp + 0x3c]
call fcn.00401580
mov ecx, dword [edi]
sub ecx, dword [esi + 0x6c]
lea eax, [esp + 0x38]
push eax
push ecx
mov dword [esp + 0xe0], 6
push 2
jmp 0x46ea4f
add eax, dword [eax + 4]
cmp dword [eax], 0x1b
jne 0x46efd8
cmp dword [eax + 8], 0x270f
jne 0x46efd8
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 0x46f114
jmp 0x46f100
dec eax
mov dword [edi], eax
mov ecx, dword [esi + 4]
mov ecx, dword [ecx]
mov edx, eax
movzx edx, byte [edx]
cmp byte [edx + ecx + 4], 1
jne 0x46f100
push str.Alternation_operators_are_not_allowed_inside_a_DEFINE_block.
lea ecx, [esp + 0x3c]
call fcn.00401580
mov ecx, dword [edi]
sub ecx, dword [esi + 0x6c]
lea eax, [esp + 0x38]
push eax
push ecx
mov dword [esp + 0xe0], 7
push 2
jmp 0x46ea4f
push 0x10
push 1
mov ecx, esi
call fcn.0045ede0
mov dword [eax + 8], ebx
mov edx, dword [esi]
mov ecx, dword [edx + 0x20]
mov edx, dword [esp + 0x2c]
shr ecx, 0x14
and cl, 1
mov byte [eax + 0xc], cl
mov eax, dword [esp + 0x5c]
mov cl, byte [esp + 0x1e]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x80]
mov dword [esi + 0x84], edx
mov byte [esi + 0x8c], cl
cmp eax, dword [esi + 0x78]
jbe 0x46f187
mov dword [esi + 0x78], eax
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov dword [esi + 0x7c], edx
mov dword [esi + 0x80], eax
test ebx, ebx
jle 0x46f1d1
mov eax, dword [esi]
test dword [eax + 0x20], 0x800000
je 0x46f1bf
mov edi, dword [edi]
sub edi, dword [esi + 0x6c]
lea ecx, [ebx - 1]
push ecx
lea ecx, [eax + 0x150]
dec edi
call fcn.00461a30
mov dword [eax + 4], edi
cmp ebx, 0x20
jge 0x46f1d1
lea ecx, [ebx - 1]
mov edx, 1
shl edx, cl
or dword [esi + 0x18], edx
mov al, 1
jmp 0x46f209
lea eax, [edx - 1]
mov dword [edi], eax
movzx edx, byte [eax]
mov ecx, dword [ecx]
cmp byte [edx + ecx + 4], 1
je 0x46f1fa
dec eax
mov dword [edi], eax
mov edx, eax
movzx ecx, byte [edx]
mov edx, dword [esi + 4]
mov edx, dword [edx]
cmp byte [ecx + edx + 4], 1
jne 0x46f1e6
sub eax, dword [esi + 0x6c]
push eax
push 0x14
mov ecx, esi
call fcn.00463330
xor al, al
mov ecx, dword [esp + 0xd0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc8
ret
sub esp, 0x14
push ebx
push esi
mov esi, ecx
mov ebx, 1
add dword [esi + 0x74], ebx
mov eax, dword [esi + 0x74]
cmp eax, dword [esi + 0x70]
jne 0x47015a
sub eax, dword [esi + 0x6c]
push eax
push 8
call fcn.00463330
pop esi
xor al, al
pop ebx
add esp, 0x14
ret
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
push ebp
push edi
test edx, 0x203
je 0x470179
mov edi, edx
and edi, 0x1003
cmp edi, 0x1001
jne 0x470196
mov edi, dword [esi + 4]
movzx ebp, byte [eax]
mov edi, dword [edi]
cmp byte [edi + ebp + 4], 8
jne 0x470196
pop edi
pop ebp
mov ecx, esi
pop esi
pop ebx
add esp, 0x14
jmp 0x46e000
xor edi, edi
test edx, 0x400000
jne 0x4701d0
add dword [esi + 0x78], ebx
test dword [ecx + 0x20], 0x800000
mov edi, dword [esi + 0x78]
je 0x4701d0
sub eax, dword [esi + 0x6c]
add ecx, 0x150
sub eax, ebx
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
push eax
mov dword [esp + 0x24], 0
call fcn.00465f60
push 0x10
push 0
mov ecx, esi
call fcn.0045ede0
mov dword [eax + 8], edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
shr edx, 0x14
and dl, bl
mov byte [eax + 0xc], dl
mov ecx, dword [esi]
sub eax, dword [ecx + 0x144]
mov edx, dword [ecx + 0x148]
mov ebx, eax
mov eax, dword [esi + 0x88]
mov dword [esp + 0x1c], eax
mov eax, dword [ecx + 0x144]
sub edx, eax
add edx, 3
and edx, 0xfffffffc
add edx, eax
mov dword [ecx + 0x148], edx
mov eax, dword [esi]
mov ecx, dword [eax + 0x148]
sub ecx, dword [eax + 0x144]
mov dl, byte [esi + 0x8c]
mov dword [esi + 0x88], ecx
mov ebp, dword [eax + 0x20]
mov eax, dword [esi + 0x7c]
mov dword [esp + 0x14], ebx
mov byte [esp + 0x13], dl
mov byte [esi + 0x8c], 0
mov dword [esp + 0x18], eax
mov dword [esi + 0x7c], 0xffffffff
mov ecx, dword [esi + 0x74]
cmp ecx, dword [esi + 0x70]
je 0x470268
mov edx, dword [esi + 0x68]
mov ecx, esi
call edx
test al, al
jne 0x470255
push ebx
mov ecx, esi
call fcn.004633f0
test al, al
je 0x4702d3
cmp byte [esi + 0x8c], 0
je 0x470297
mov ebx, ebp
push 0xc
shr ebx, 0x14
push 0x1c
mov ecx, esi
and bl, 1
call fcn.0045ede0
mov byte [eax + 8], bl
mov ebx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [eax + 0x20], ebp
mov eax, ebp
shr eax, 0x14
and al, 1
cmp byte [esi + 0xc], al
je 0x4702ab
mov byte [esi + 0xc], al
mov cl, byte [esp + 0x13]
mov eax, dword [esi + 0x74]
mov edx, dword [esp + 0x18]
mov byte [esi + 0x8c], cl
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x7c], edx
cmp eax, ecx
jne 0x4702dd
sub ecx, dword [esi + 0x6c]
push ecx
push 8
mov ecx, esi
call fcn.00463330
pop edi
pop ebp
pop esi
xor al, al
pop ebx
add esp, 0x14
ret
test edi, edi
je 0x470303
mov ecx, dword [esi]
test dword [ecx + 0x20], 0x800000
je 0x470303
sub eax, dword [esi + 0x6c]
add ecx, 0x150
mov ebp, eax
lea eax, [edi - 1]
push eax
call fcn.00461a30
mov dword [eax + 4], ebp
inc dword [esi + 0x74]
push 0x10
push 1
mov ecx, esi
call fcn.0045ede0
mov dword [eax + 8], edi
mov ecx, dword [esi]
mov edx, dword [ecx + 0x20]
shr edx, 0x14
and dl, 1
mov byte [eax + 0xc], dl
mov eax, dword [esp + 0x1c]
lea ecx, [edi - 1]
mov dword [esi + 0x84], ebx
mov dword [esi + 0x88], eax
cmp ecx, 0x1e
ja 0x470344
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