Function at 0x5b1550
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x5b2440
sub esp, 0x84
movzx eax, word [esp + 0x90]
test ax, 2
jne 0x5b238f
lea eax, [0x62aa40]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
movzx ecx, word [esp + 0x90]
mov word [eax], cx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0x1c], ecx
mov edx, dword [0x79b700]
lea ebx, [eax + 0x18]
test edx, edx
jne 0x5b2365
mov edx, dword [esp + 0x88]
mov dword [eax + 0x18], edx
mov ebx, edx
mov ebp, ecx
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x74], ecx
mov ecx, ebp
jmp 0x5b15fe
mov esi, eax
mov edi, ebx
mov dword [esp + 0x74], ebp
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov eax, edx
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x70]
test ecx, ecx
je 0x5b223d
mov dword [esp + 0x78], edx
mov dword [esp + 0x50], ecx
xchg esi, eax
mov byte [esp + 0x3b], al
xchg esi, eax
movzx ebx, byte [edx]
cmp bl, 0x2e
ja 0x5b1959
cmp bl, 0x28
ja 0x5b17bb
cmp bl, 0x24
jne 0x5b1689
movzx ebx, word [eax]
test bx, 0x10
je 0x5b167a
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 8]
movzx ecx, word [eax + 2]
or ecx, 0x100
mov word [eax + 2], cx
mov ecx, dword [esp + 0x50]
dec ecx
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov ebx, dword [esp + 0x78]
add ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp], eax
mov byte [esp + 4], 8
call dbg.regexp/syntax.(*parser).op
jmp 0x5b1657
cmp bl, 0x28
jne 0x5b1749
movzx ebx, word [eax]
test bx, 0x40
je 0x5b16aa
cmp ecx, 2
jl 0x5b16aa
movzx ebx, byte [edx + 1]
cmp bl, 0x3f
je 0x5b16f5
mov ecx, dword [eax + 0x14]
inc ecx
mov dword [eax + 0x14], ecx
mov dword [esp], eax
mov byte [esp + 4], pe_nt_image_headers32
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x30], edx
mov eax, dword [esp + 0x50]
lea edx, [eax - 1]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 1
mov ebx, dword [esp + 0x78]
add edx, ebx
mov ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call dbg.regexp/syntax.(*parser).parsePerlFlags
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test eax, eax
jne 0x5b1729
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x84
ret
mov dword [esp], edx
mov dword [esp + 4], ecx
call dbg.regexp/syntax.nextRune
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
test edx, edx
jne 0x5b179b
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x58], ebp
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.regexp/syntax.(*parser).literal
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x3c]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
add esp, 0x84
ret
cmp bl, 0x29
je 0x5b18fb
lea ebp, [ebx - 0x2a]
xchg ebp, eax
cmp al, 1
xchg ebp, eax
jbe 0x5b182f
cmp bl, 0x2e
jne 0x5b1823
movzx ebx, word [eax]
test bx, 8
je 0x5b1814
mov dword [esp], eax
mov byte [esp + 4], 6
call dbg.regexp/syntax.(*parser).op
mov esi, dword [esp + 0x50]
lea edx, [esi - 1]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 1
mov eax, esi
mov esi, dword [esp + 0x78]
lea ecx, [esi + edx]
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp], eax
mov byte [esp + 4], 5
call dbg.regexp/syntax.(*parser).op
jmp 0x5b17ea
mov ebp, dword [esp + 0x8c]
jmp 0x5b1749
cmp bl, 0x2a
jne 0x5b18d6
mov ebx, 0xe
mov byte [esp + 0x3b], bl
mov dword [esp], eax
mov byte [esp + 4], bl
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
lea ebp, [ecx - 1]
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebp, edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], edi
call dbg.regexp/syntax.(*parser).repeat
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x34]
test ecx, ecx
jne 0x5b18b6
mov ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x78]
jmp 0x5b15da
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], ebx
add esp, 0x84
ret
cmp bl, 0x2b
jne 0x5b18e5
mov ebx, 0xf
jmp 0x5b183d
cmp bl, 0x3f
jne 0x5b18f4
mov ebx, 0x10
jmp 0x5b183d
mov ebx, esi
jmp 0x5b183d
mov dword [esp], eax
call dbg.regexp/syntax.(*parser).parseRightParen
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x5b1939
mov esi, dword [esp + 0x50]
lea edx, [esi - 1]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 1
mov eax, esi
mov esi, dword [esp + 0x78]
lea ecx, [esi + edx]
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x84
ret
cmp bl, 0x5c
ja 0x5b1fb4
cmp bl, 0x3f
je 0x5b182f
cmp bl, 0x5b
je 0x5b1f60
cmp bl, 0x5c
jne 0x5b1749
movzx ebx, word [eax]
test bx, 0x40
je 0x5b19b4
cmp ecx, 2
jl 0x5b19b4
movzx ebx, byte [edx + 1]
cmp bl, 0x43
ja 0x5b1dc9
cmp bl, 0x41
je 0x5b1d95
cmp bl, 0x42
je 0x5b1d61
cmp bl, 0x43
je 0x5b1cc3
mov edi, dword [eax + 0x10]
lea ebx, [eax + 0x10]
mov dword [esp + 0x80], ebx
test edi, edi
je 0x5b1c9b
mov dword [esp + 0x68], edi
mov ebp, dword [0x79b700]
mov esi, dword [edi + 0x10]
test ebp, ebp
jne 0x5b1c63
mov dword [eax + 0x10], esi
mov ebp, eax
xor eax, eax
call fcn.0044c041
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x6c], ecx
mov byte [ecx], 4
movzx esi, word [ebp]
mov word [ecx + 2], si
mov esi, dword [esp + 0x50]
cmp esi, 2
jl 0x5b1a20
movzx edi, byte [edx + 1]
xchg edi, eax
cmp al, 0x70
xchg edi, eax
je 0x5b1b87
xchg edi, eax
cmp al, 0x50
xchg edi, eax
je 0x5b1b87
lea eax, [ecx + 0x20]
test byte [eax], al
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call dbg.regexp/syntax.(*parser).parsePerlClassEscape
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
test eax, eax
je 0x5b1abb
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x48], ebp
mov esi, dword [esp + 0x6c]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
mov ecx, dword [0x79b700]
lea edx, [esi + 0x14]
test ecx, ecx
jne 0x5b1aa9
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], esi
call dbg.regexp/syntax.(*parser).push
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x48]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp], edx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov esi, dword [esp + 0x6c]
jmp 0x5b1a83
mov eax, dword [0x79b700]
mov ecx, dword [esp + 0x6c]
lea edx, [ecx + 0x10]
mov ebx, dword [esp + 0x70]
mov ebp, dword [ebx + 0x10]
test eax, eax
jne 0x5b1b5b
mov dword [ecx + 0x10], ebp
mov dword [ebx + 0x10], ecx
mov dword [esp], ebx
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call dbg.regexp/syntax.(*parser).parseEscape
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
test ebx, ebx
jne 0x5b1b3b
mov dword [esp + 0x58], ecx
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.regexp/syntax.(*parser).literal
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x3c]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebp
add esp, 0x84
ret
mov dword [esp], edx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov ebx, dword [esp + 0x70]
jmp 0x5b1add
lea eax, [ecx + 0x20]
test byte [eax], al
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 2
call dbg.regexp/syntax.(*parser).parseUnicodeClass
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x24]
test ecx, ecx
jne 0x5b1c43
test ebp, ebp
je 0x5b1c2e
mov dword [esp + 0x40], esi
mov dword [esp + 0x64], edi
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x18], ebx
mov dword [eax + 0x1c], edx
mov ecx, dword [0x79b700]
lea edx, [eax + 0x14]
test ecx, ecx
jne 0x5b1c1c
mov dword [eax + 0x14], ebp
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.regexp/syntax.(*parser).push
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x40]
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp], edx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x6c]
jmp 0x5b1bf6
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x50]
jmp 0x5b1a20
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x84
ret
mov dword [esp], ebx
mov dword [esp + 4], esi
call dbg.runtime.writebarrierptr
lea eax, [0x632960]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
call dbg.runtime.typedmemclr
xor eax, eax
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x70]
jmp 0x5b19ea
lea eax, [0x632960]
mov dword [esp], eax
call dbg.runtime.newobject
mov ecx, dword [esp + 4]
xor eax, eax
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x70]
jmp 0x5b19ee
lea eax, [0x616cc0]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
mov dword [eax + 4], 0x17
mov ecx, dword [0x79b700]
test ecx, ecx
jne 0x5b1d49
lea ecx, [0x64bd32]
mov dword [eax], ecx
mov dword [eax + 0xc], 2
mov ecx, dword [0x79b700]
lea edx, [eax + 8]
test ecx, ecx
jne 0x5b1d33
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov dword [esp + 0x94], 0
lea ecx, [0x7581b0]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x84
ret
mov dword [esp], edx
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x7c]
jmp 0x5b1d0d
mov dword [esp], eax
lea ecx, [0x64bd32]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x7c]
jmp 0x5b1cf2
mov dword [esp], eax
mov byte [esp + 4], 0xc
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp], eax
mov byte [esp + 4], 9
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
cmp bl, 0x51
je 0x5b1e44
cmp bl, 0x62
je 0x5b1e10
cmp bl, 0x7a
jne 0x5b19b4
mov dword [esp], eax
mov byte [esp + 4], 0xa
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp], eax
mov byte [esp + 4], 0xb
call dbg.regexp/syntax.(*parser).op
mov eax, dword [esp + 0x50]
lea edx, [eax - 2]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp], edx
mov dword [esp + 4], ecx
lea eax, [0x6456b7]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
call dbg.strings.Index
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x5b1f15
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffffe
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
mov ebx, dword [esp + 0x78]
add ecx, ebx
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], ebx
jmp 0x5b1ebb
mov dword [esp + 0x44], ebx
mov dword [esp + 0x60], ebp
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], edx
call dbg.regexp/syntax.(*parser).literal
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x60]
test edx, edx
je 0x5b1f03
mov dword [esp], ecx
mov dword [esp + 4], edx
call dbg.regexp/syntax.nextRune
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
test ecx, ecx
je 0x5b1e93
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x84
ret
mov ecx, ebx
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
cmp eax, 2
jb 0x5b2432
mov ecx, dword [esp + 0x50]
cmp eax, ecx
ja 0x5b2432
lea edx, [eax - 2]
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 2
mov ebp, dword [esp + 0x78]
add edx, ebp
lea esi, [eax + 2]
cmp esi, ecx
ja 0x5b242b
sub ecx, esi
mov eax, ecx
neg ecx
sar ecx, 0x1f
and ecx, esi
add ebp, ecx
mov ecx, edx
mov edx, ebx
mov ebx, ebp
jmp 0x5b1e89
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call dbg.regexp/syntax.(*parser).parseClass
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test eax, eax
jne 0x5b1f94
mov ecx, ebx
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
add esp, 0x84
ret
cmp bl, 0x5e
jne 0x5b2009
movzx ebx, word [eax]
test bx, 0x10
je 0x5b1ffa
mov dword [esp], eax
mov byte [esp + 4], 9
call dbg.regexp/syntax.(*parser).op
mov esi, dword [esp + 0x50]
lea edx, [esi - 1]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 1
mov eax, esi
mov esi, dword [esp + 0x78]
lea ecx, [esi + edx]
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp], eax
mov byte [esp + 4], 7
call dbg.regexp/syntax.(*parser).op
jmp 0x5b1fd0
cmp bl, 0x7b
je 0x5b2075
cmp bl, 0x7c
jne 0x5b1749
mov dword [esp], eax
call dbg.regexp/syntax.(*parser).parseVerticalBar
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
test ecx, ecx
jne 0x5b2055
mov esi, dword [esp + 0x50]
lea edx, [esi - 1]
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 1
mov eax, esi
mov esi, dword [esp + 0x78]
lea ecx, [esi + edx]
mov edx, eax
movzx eax, byte [esp + 0x3b]
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x84
ret
mov dword [esp + 0x4c], edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call dbg.regexp/syntax.(*parser).parseRepeat
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
test dl, dl
jne 0x5b20dd
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], 0x7b
call dbg.regexp/syntax.(*parser).literal
mov eax, dword [esp + 0x50]
lea edx, [eax - 1]
mov eax, edx
neg edx
sar edx, 0x1f
and edx, 1
mov ecx, dword [esp + 0x78]
add ecx, edx
mov edx, eax
mov eax, 0x11
xor ebx, ebx
xor ebp, ebp
jmp 0x5b15da
cmp eax, 0x3e8
ja 0x5b218b
cmp ecx, 0x3e8
jg 0x5b218b
test ecx, ecx
jl 0x5b2100
cmp eax, ecx
jg 0x5b218b
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov byte [esp + 4], 0x11
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x24], ebx
call dbg.regexp/syntax.(*parser).repeat
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
test ebx, ebx
jne 0x5b216b
mov edx, ecx
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x78]
mov ecx, eax
mov eax, 0x11
jmp 0x5b15da
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], edx
add esp, 0x84
ret
mov eax, dword [esp + 0x50]
mov ecx, eax
sub eax, ebx
cmp eax, ecx
ja 0x5b2439
mov dword [esp + 0x54], eax
lea eax, [0x616cc0]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
mov dword [eax + 4], 0x14
mov ecx, dword [0x79b700]
test ecx, ecx
jne 0x5b2225
lea ecx, [0x64a898]
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x79b700]
lea edx, [eax + 8]
test ecx, ecx
jne 0x5b220f
mov ecx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov dword [esp + 0x94], 0
lea ecx, [0x7581b0]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x84
ret
mov dword [esp], edx
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x7c]
jmp 0x5b21e9
mov dword [esp], eax
lea ecx, [0x64a898]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x7c]
jmp 0x5b21ce
mov dword [esp], eax
call dbg.regexp/syntax.(*parser).concat
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call dbg.regexp/syntax.(*parser).swapVerticalBar
movzx eax, byte [esp + 4]
test al, al
je 0x5b235c
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
dec ecx
cmp ecx, edx
ja 0x5b2424
mov dword [eax + 8], ecx
mov dword [esp], eax
call dbg.regexp/syntax.(*parser).alternate
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
cmp eax, 1
je 0x5b2336
lea eax, [0x616cc0]
mov dword [esp], eax
call dbg.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
mov dword [eax + 4], 0x11
mov ecx, dword [0x79b700]
test ecx, ecx
jne 0x5b231e
lea ecx, [0x649422]
mov dword [eax], ecx
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x79b700]
lea edx, [eax + 8]
test ecx, ecx
jne 0x5b2305
mov ecx, dword [esp + 0x88]
mov dword [eax + 8], ecx
mov dword [esp + 0x94], 0
lea ecx, [0x7581b0]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x84
ret
mov dword [esp], edx
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x7c]
jmp 0x5b22df
mov dword [esp], eax
lea ecx, [0x649422]
mov dword [esp + 4], ecx
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x7c]
jmp 0x5b22be
mov eax, dword [ecx]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
add esp, 0x84
ret
mov eax, dword [esp + 0x70]
jmp 0x5b2274
mov dword [esp], ebx
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x88]
jmp 0x5b15c8
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
call dbg.regexp/syntax.checkUTF8
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x5b23d5
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
add esp, 0x84
ret
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
movzx eax, word [esp + 0x90]
mov word [esp + 8], ax
call dbg.regexp/syntax.literalRegexp
mov eax, dword [esp + 0xc]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
add esp, 0x84
ret
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.panicslice
ud2
call dbg.runtime.morestack_noctxt
jmp dbg.regexp/syntax.Parse