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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], eax
mov edx, dword [ecx]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x18], eax
mov eax, edx
push ebx
mov ebx, dword [ecx]
mov ecx, dword [ebp + 0x14]
shr eax, 9
and eax, 1
push esi
mov dword [ebp - 0x84], eax
xor eax, 1
mov dword [ebp - 0x80], eax
mov eax, edx
push edi
mov edi, dword [ecx]
push 0xfffffffffffffffe
and eax, 1
pop esi
mov dword [ebp - 0x34], edx
shl eax, 8
mov dword [ebp - 4], edi
mov dword [ebp - 8], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x3c], eax
movzx eax, byte [edi]
cmp dword [ebp - 0x40], 0
mov dword [ebp - 0xc], eax
je 0x4042f3
test eax, eax
jne 0x404af6
test dl, 8
je 0x40433c
mov ecx, dword [ebp + 0x28]
mov ecx, dword [ecx + 0xc]
test byte [ecx + eax], 1
jne 0x40554e
cmp eax, 0x23
jne 0x404339
mov edi, dword [ebp - 4]
inc edi
mov dword [ebp - 4], edi
movzx eax, byte [edi]
test eax, eax
mov dword [ebp - 0xc], eax
je 0x40433c
cmp eax, 0xa
je 0x404331
inc edi
mov dword [ebp - 4], edi
movzx eax, byte [edi]
test eax, eax
mov dword [ebp - 0xc], eax
jne 0x40431e
test eax, eax
jne 0x40554e
mov edi, dword [ebp - 4]
cmp eax, 0x2e
jg 0x4049b0
je 0x404991
mov ecx, eax
sub ecx, 0
je 0x4055b8
sub ecx, 0x24
je 0x404985
sub ecx, 4
je 0x40438b
dec ecx
je 0x4055b8
dec ecx
je 0x404385
dec ecx
jne 0x404af6
mov dword [ebp - 0x1c], 1
or dword [ebp - 0x14], 0xffffffff
jmp 0x40511c
and dword [ebp - 0x1c], 0
jmp 0x40437c
xor esi, esi
inc edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x2c], edx
cmp byte [edi], 0x3f
mov dword [ebp - 0xc], esi
jne 0x404876
inc edi
mov dword [ebp - 4], edi
mov cl, byte [edi]
movzx eax, cl
cmp eax, 0x3c
jg 0x4044ee
je 0x404497
cmp eax, 0x21
je 0x40448e
cmp eax, 0x23
je 0x404471
cmp eax, 0x28
je 0x4043f6
cmp eax, 0x2f
jle 0x404518
cmp eax, 0x39
jle 0x4045da
cmp eax, 0x3a
jne 0x404518
mov dword [ebp - 0x30], 0x4c
jmp 0x404864
mov cl, byte [edi + 1]
lea eax, [edi + 1]
cmp cl, 0x52
mov dword [ebp - 0x30], 0x47
jne 0x404422
or byte [ebx + 4], 0xff
or byte [ebx + 5], 0xff
push 3
mov byte [ebx + 3], 0x48
pop eax
add dword [ebp - 4], eax
mov dword [ebp - 0xc], eax
jmp 0x404898
movzx ecx, cl
cmp byte [ecx + 0x40c5a4], 0
je 0x404898
mov edx, eax
mov dword [ebp - 4], edx
movzx eax, byte [edx]
sub eax, 0x30
inc edx
mov dword [ebp - 4], edx
mov cl, byte [edx]
cmp cl, 0x29
je 0x404454
movzx ecx, cl
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x30]
jmp 0x40443d
cmp eax, esi
je 0x40555f
mov ecx, eax
inc edx
sar ecx, 8
mov dword [ebp - 4], edx
mov byte [ebx + 3], 0x48
mov byte [ebx + 4], cl
jmp 0x4046da
inc edi
mov dword [ebp - 4], edi
cmp byte [edi], 0x29
je 0x40554e
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp byte [eax], 0x29
jne 0x40447e
jmp 0x40554e
mov dword [ebp - 0x30], 0x42
jmp 0x4044b0
inc edi
mov dword [ebp - 4], edi
mov al, byte [edi]
cmp al, 0x21
je 0x4044de
cmp al, 0x3d
jne 0x40488e
mov dword [ebp - 0x30], 0x43
inc edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp + 0x28]
mov byte [ebx], al
cmp eax, 0x43
mov edi, dword [ecx + 0x28]
mov dword [ebp - 0x48], ebx
je 0x4048a0
cmp eax, 0x44
je 0x4048a0
xor eax, eax
jmp 0x4048a3
mov dword [ebp - 0x30], 0x44
inc edi
mov dword [ebp - 4], edi
jmp 0x40488e
sub eax, 0x3d
je 0x40486a
dec eax
je 0x40485d
sub eax, 5
je 0x404815
sub eax, 0xd
je 0x4045f9
dec eax
dec eax
je 0x4045d6
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x2c], esi
lea eax, [ebp - 0x2c]
cmp cl, 0x29
je 0x40457b
cmp cl, 0x3a
je 0x40457b
movzx ecx, cl
inc edi
cmp ecx, 0x2d
mov dword [ebp - 4], edi
je 0x404574
cmp ecx, 0x55
je 0x40456e
cmp ecx, 0x58
je 0x404569
cmp ecx, 0x69
je 0x404564
cmp ecx, 0x6d
je 0x40455f
cmp ecx, 0x73
je 0x40455a
cmp ecx, 0x78
jne 0x404577
or dword [eax], 8
jmp 0x404577
or dword [eax], 4
jmp 0x404577
or dword [eax], 2
jmp 0x404577
or dword [eax], 1
jmp 0x404577
or dword [eax], 0x40
jmp 0x404577
or byte [eax + 1], 2
jmp 0x404577
lea eax, [ebp - 0x10]
mov cl, byte [edi]
jmp 0x404521
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x10]
or eax, edx
not ecx
and eax, ecx
cmp byte [edi], 0x29
mov dword [ebp - 0x2c], eax
jne 0x4043ea
mov ecx, eax
xor ecx, edx
test cl, 7
je 0x4045a8
mov byte [ebx], 0xf
mov cl, al
inc ebx
and cl, 7
mov byte [ebx], cl
inc ebx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x34], eax
mov dword [ecx], eax
mov ecx, eax
shr ecx, 9
and ecx, 1
and eax, 1
mov dword [ebp - 0x84], ecx
xor ecx, 1
shl eax, 8
and dword [ebp - 0x18], 0
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x3c], eax
jmp 0x40554e
inc edi
mov dword [ebp - 4], edi
xor ecx, ecx
movzx eax, byte [edi]
test byte [eax + 0x40c5a4], 4
je 0x404768
lea ecx, [ecx + ecx*4]
inc edi
mov dword [ebp - 4], edi
lea ecx, [eax + ecx*2 - 0x30]
jmp 0x4045dc
inc edi
mov dword [ebp - 4], edi
mov al, byte [edi]
cmp al, 0x3c
jne 0x4046e9
mov eax, dword [ebp + 0x28]
inc edi
mov dword [ebp - 4], edi
mov dword [ebp - 8], edi
mov esi, dword [eax + 0x14]
mov al, byte [edi]
inc edi
cmp al, 0x3e
mov dword [ebp - 4], edi
jne 0x404614
sub edi, dword [ebp - 8]
mov eax, dword [ebp + 0x28]
and dword [ebp - 0x10], 0
dec edi
cmp dword [eax + 0x18], 0
jle 0x404684
lea eax, [esi + 2]
push edi
push eax
push dword [ebp - 8]
call sub.MSVCRT.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x404652
cmp byte [edi + esi + 2], al
je 0x40556d
or eax, 0xffffffff
test eax, eax
jl 0x404667
mov eax, dword [ebp + 0x28]
add esi, dword [eax + 0x1c]
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + 0x18]
jl 0x40462f
jmp 0x404684
mov ecx, dword [ebp + 0x28]
mov eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x18]
sub ecx, dword [ebp - 0x10]
imul ecx, eax
push ecx
add eax, esi
push esi
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
add esp, 0xc
mov eax, dword [ebp + 0xc]
push edi
push dword [ebp - 8]
mov ecx, dword [eax]
inc ecx
sar ecx, 8
mov byte [esi], cl
mov al, byte [eax]
inc al
mov byte [esi + 1], al
lea eax, [esi + 2]
push eax
call sub.MSVCRT.dll_memcpy
mov eax, dword [ebp + 0x28]
and byte [edi + esi + 2], 0
add esp, 0xc
inc dword [eax + 0x18]
xor esi, esi
mov ecx, dword [ebp + 0xc]
inc dword [ecx]
mov eax, dword [ecx]
cmp eax, 0x96
jle 0x404888
mov byte [ebx + 3], 0x4b
mov eax, dword [ecx]
sar eax, 8
mov byte [ebx + 4], al
mov al, byte [ecx]
mov dword [ebp - 0x30], 0xe3
mov byte [ebx + 5], al
mov dword [ebp - 0xc], 3
jmp 0x404898
cmp al, 0x3d
je 0x4046f5
cmp al, 0x3e
jne 0x40488e
movzx eax, al
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x28]
inc edi
mov esi, dword [eax + 0x14]
mov dword [ebp - 4], edi
mov dword [ebp - 0x2c], edi
cmp byte [edi], 0x29
je 0x404713
inc edi
mov dword [ebp - 4], edi
jmp 0x404708
mov edi, dword [ebp - 4]
mov eax, dword [ebp + 0x28]
sub edi, dword [ebp - 0x2c]
and dword [ebp - 0x10], 0
cmp dword [eax + 0x18], 0
jle 0x40474c
lea eax, [esi + 2]
push edi
push eax
push dword [ebp - 0x2c]
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x40474c
mov eax, dword [ebp + 0x28]
add esi, dword [eax + 0x1c]
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + 0x18]
jl 0x404726
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ecx + 0x18]
jge 0x40557b
xor ecx, ecx
cmp dword [ebp - 0x44], 0x3e
mov cl, byte [esi + 1]
mov ch, byte [esi]
jne 0x4047df
and byte [ebx], 0
mov dword [ebp - 0x18], ebx
test ecx, ecx
jne 0x40477d
mov esi, dword [ebp + 0x28]
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x10], eax
jmp 0x404794
mov eax, dword [ebp + 0x28]
push ecx
push 0
push dword [eax + 0x10]
call fcn.0040562f
mov esi, dword [ebp + 0x28]
add esp, 0xc
mov dword [ebp - 0x10], eax
test eax, eax
je 0x40557b
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
test ecx, ecx
jne 0x4047c3
push ecx
push dword [ebp + 0x24]
push ebx
push dword [ebp - 0x10]
call fcn.00405686
add esp, 0x10
test eax, eax
jne 0x405589
mov eax, dword [ebp - 0x10]
mov ecx, eax
mov byte [ebx], 0x3b
sub ecx, dword [esi + 0x10]
sar ecx, 8
mov byte [ebx + 1], cl
sub al, byte [esi + 0x10]
mov byte [ebx + 2], al
add ebx, 3
jmp 0x40554e
mov dword [ebp - 0x18], ebx
mov byte [ebx], 0x3a
mov eax, ecx
inc ebx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
push 1
inc ebx
cmp ecx, 0x20
pop eax
jge 0x4047fc
shl eax, cl
mov edx, dword [ebp + 0x28]
or dword [edx + 0x24], eax
cmp ecx, dword [edx + 0x20]
jle 0x40554e
mov eax, edx
mov dword [eax + 0x20], ecx
jmp 0x40554e
mov byte [ebx], 0x3c
inc ebx
xor ecx, ecx
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test byte [eax + 0x40c5a4], 4
je 0x404852
inc dword [ebp - 4]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2 - 0x30]
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test byte [eax + 0x40c5a4], 4
jne 0x40482d
cmp ecx, 0xff
jg 0x405597
mov byte [ebx], cl
inc ebx
mov dword [ebp - 0x18], esi
jmp 0x40554e
mov dword [ebp - 0x30], 0x46
inc edi
mov dword [ebp - 4], edi
jmp 0x404898
mov dword [ebp - 0x30], 0x41
jmp 0x4044e5
test dh, 0x10
je 0x4046b3
mov dword [ebp - 0x30], 0x4c
jmp 0x404898
add eax, 0x4c
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x46
jl 0x4044b4
mov dword [ebp - 0x18], ebx
jmp 0x4044b7
push 1
pop eax
push ecx
lea ecx, [ebp - 0x58]
push dword [ebp + 0x24]
push ecx
lea ecx, [ebp - 0x7c]
push ecx
push dword [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push dword [ebp + 0x18]
push eax
lea eax, [ebp - 0x48]
push eax
mov eax, dword [ebp - 0x34]
push dword [ebp + 0xc]
and eax, 7
push eax
push dword [ebp - 0x2c]
call fcn.00403ed3
add esp, 0x30
test eax, eax
je 0x405620
mov esi, dword [ebp - 0x30]
cmp esi, 0x47
jne 0x404910
xor eax, eax
xor ecx, ecx
inc eax
mov ch, byte [ebx + 1]
mov cl, byte [ebx + 2]
add ebx, ecx
cmp byte [ebx], 0x3e
jne 0x4048e5
cmp eax, 2
jg 0x4055a2
cmp eax, 1
jne 0x404910
or eax, 0xffffffff
mov edx, eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x58], edx
jmp 0x404916
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x28]
and dword [ebp - 0x54], 0
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 0x24]
cmp esi, 0x4c
mov dword [ebp - 0x20], ecx
jge 0x40493c
cmp esi, 0x46
je 0x40493c
cmp esi, 0x47
je 0x40493c
cmp esi, 0x41
jne 0x404971
jmp 0x40496a
cmp ecx, 0xfffffffe
jne 0x40495b
test eax, eax
jl 0x404951
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x54], 1
jmp 0x404955
or dword [ebp - 0x24], 0xffffffff
or dword [ebp - 0x20], 0xffffffff
jmp 0x40496a
test eax, eax
jl 0x40496a
test edx, edx
jge 0x40496e
or eax, edi
mov edx, eax
mov dword [ebp - 0x58], edx
test edx, edx
jl 0x404971
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0x48]
cmp byte [eax], 0x29
jne 0x4055ad
jmp 0x40554e
and dword [ebp - 0x18], 0
mov byte [ebx], 0x11
jmp 0x4050ba
cmp esi, 0xfffffffe
jne 0x40499c
or esi, 0xffffffff
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], esi
mov dword [ebp - 8], eax
mov dword [ebp - 0x18], ebx
mov byte [ebx], 0xb
jmp 0x4050ba
mov ecx, eax
sub ecx, 0x3f
je 0x405111
sub ecx, 0x1c
je 0x404c33
dec ecx
je 0x404a37
dec ecx
dec ecx
je 0x404a1d
sub ecx, 0x1d
je 0x4049dc
dec ecx
je 0x4055b8
jmp 0x404af6
push dword [ebp + 0x28]
inc edi
push edi
call fcn.00403dae
pop ecx
test eax, eax
pop ecx
je 0x404af3
push dword [ebp + 0x28]
mov esi, dword [ebp + 0x18]
lea eax, [ebp - 0x14]
push esi
push eax
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp - 4]
inc eax
push eax
call fcn.00403e14
add esp, 0x14
cmp dword [esi], 0
mov dword [ebp - 4], eax
jne 0x405620
jmp 0x40511c
test dl, 2
je 0x404a2b
cmp esi, 0xfffffffe
jne 0x404a2b
or dword [ebp - 0x24], 0xffffffff
and dword [ebp - 0x18], 0
mov byte [ebx], 0x10
jmp 0x4050ba
push dword [ebp + 0x28]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x4c], edi
push 0
push dword [ebp - 0x34]
push dword [eax]
lea eax, [ebp - 4]
push dword [ebp + 0x18]
push eax
call fcn.00403bf6
add esp, 0x18
test eax, eax
jge 0x404ae6
mov ecx, eax
neg ecx
cmp ecx, 0x10
jne 0x404a8c
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 0x5c
jne 0x404a80
add eax, 2
cmp byte [eax], 0x45
jne 0x404a80
mov dword [ebp - 4], eax
jmp 0x40554e
mov dword [ebp - 0x40], 1
jmp 0x40554e
cmp esi, 0xfffffffe
jne 0x404aa1
cmp ecx, 4
jle 0x404aa1
cmp ecx, 0xd
jge 0x404aa1
or esi, 0xffffffff
mov dword [ebp - 0x24], esi
mov edx, dword [ebp - 0x28]
cmp ecx, 0x11
mov dword [ebp - 0x20], esi
mov dword [ebp - 8], edx
jl 0x404acc
push 0xffffffffffffffef
mov dword [ebp - 0x18], ebx
pop ecx
mov byte [ebx], 0x3a
sub ecx, eax
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
inc ebx
inc ebx
jmp 0x40554e
cmp ecx, 4
jle 0x404adb
cmp ecx, 0xd
jge 0x404adb
mov dword [ebp - 0x18], ebx
jmp 0x404adf
and dword [ebp - 0x18], 0
neg al
jmp 0x4050b8
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0xc], 0x5c
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0xc]
and dword [ebp - 8], 0
mov edi, dword [ebp + 0x28]
lea esi, [ebx + 2]
mov dword [ebp - 0x18], ebx
mov byte [ebx], 0x12
mov ebx, esi
cmp dword [ebp - 0x40], 0
je 0x404b25
cmp eax, 0x5c
jne 0x404b8a
mov ecx, dword [ebp - 4]
inc ecx
cmp byte [ecx], 0x45
jne 0x404b8a
and dword [ebp - 0x40], 0
mov dword [ebp - 4], ecx
jmp 0x404b90
test byte [ebp - 0x34], 8
je 0x404b5e
mov ecx, dword [edi + 0xc]
test byte [ecx + eax], 1
jne 0x404b90
cmp eax, 0x23
jne 0x404b5e
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
je 0x404bb9
cmp eax, 0xa
je 0x404b58
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
test eax, eax
jne 0x404b46
test eax, eax
je 0x404bb9
jmp 0x404b90
cmp eax, 0x5c
jne 0x404b8a
mov eax, dword [ebp - 4]
push edi
push 0
mov dword [ebp - 0x4c], eax
push dword [ebp - 0x34]
mov eax, dword [ebp + 0xc]
push dword [eax]
lea eax, [ebp - 4]
push dword [ebp + 0x18]
push eax
call fcn.00403bf6
add esp, 0x18
mov dword [ebp - 0xc], eax
test eax, eax
jl 0x404bb3
mov byte [ebx], al
inc ebx
inc dword [ebp - 8]
cmp dword [ebp - 8], 0xfa
jge 0x404bb9
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
mov ecx, dword [edi + 0xc]
movzx eax, byte [eax]
mov dword [ebp - 0xc], eax
test byte [ecx + eax], 0x80
jne 0x404bb9
jmp 0x404b08
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0xfffffffe
jne 0x404c23
mov ecx, dword [ebp - 8]
cmp ecx, 1
jne 0x404bde
movzx eax, byte [esi]
or dword [ebp - 0x20], 0xffffffff
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 8], eax
jmp 0x404c09
movzx eax, byte [esi]
or eax, dword [ebp - 0x3c]
cmp ecx, 2
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
jle 0x404c2e
movzx eax, byte [ebx - 2]
or eax, dword [edi + 0x28]
or eax, dword [ebp - 0x3c]
mov dword [ebp - 8], eax
movzx eax, byte [ebx - 1]
or eax, dword [edi + 0x28]
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
cmp ecx, 0xfa
mov byte [eax + 1], cl
jge 0x40554e
dec dword [ebp - 4]
jmp 0x40554e
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x20], eax
cmp ecx, 1
jne 0x404bef
mov eax, dword [ebp - 0x28]
jmp 0x404bf9
mov al, byte [edi + 1]
mov dword [ebp - 0x18], ebx
cmp al, 0x3a
je 0x404c45
cmp al, 0x2e
je 0x404c45
cmp al, 0x3d
jne 0x404c60
push dword [ebp + 0x28]
lea eax, [ebp - 0x4c]
push eax
push edi
call fcn.00403e95
add esp, 0xc
test eax, eax
jne 0x4055cf
mov edi, dword [ebp - 4]
inc edi
mov dword [ebp - 4], edi
movzx esi, byte [edi]
cmp esi, 0x5e
jne 0x404c7c
inc edi
mov dword [ebp - 0xc], 1
mov dword [ebp - 4], edi
movzx esi, byte [edi]
jmp 0x404c80
and dword [ebp - 0xc], 0
and dword [ebp - 8], 0
or dword [ebp - 0x10], 0xffffffff
push 0x20
lea eax, [ebp - 0x78]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
cmp dword [ebp - 0x40], 0
mov edi, dword [ebp + 0x18]
je 0x404cc0
cmp esi, 0x5c
jne 0x404f8f
mov eax, dword [ebp - 4]
inc eax
cmp byte [eax], 0x45
jne 0x404f8f
and dword [ebp - 0x40], 0
jmp 0x404e2a
cmp esi, 0x5b
jne 0x404de1
mov eax, dword [ebp - 4]
mov al, byte [eax + 1]
cmp al, 0x3a
je 0x404cdf
cmp al, 0x2e
je 0x404cdf
cmp al, 0x3d
jne 0x404e87
push dword [ebp + 0x28]
lea eax, [ebp - 0x4c]
push eax
push dword [ebp - 4]
call fcn.00403e95
add esp, 0xc
test eax, eax
je 0x404e87
mov eax, dword [ebp + 0x28]
and dword [ebp - 0x2c], 0
mov eax, dword [eax + 8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 0x3a
jne 0x4055e9
inc eax
inc eax
mov dword [ebp - 4], eax
cmp byte [eax], 0x5e
jne 0x404d28
inc eax
mov dword [ebp - 0x2c], 1
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
push ecx
push eax
call fcn.00405853
pop ecx
test eax, eax
pop ecx
jl 0x4055f1
test byte [ebp - 0x34], 1
je 0x404d4b
cmp eax, 2
jg 0x404d4b
xor eax, eax
and dword [ebp - 0x20], 0
lea eax, [eax + eax*2]
lea eax, [eax*4 + 0x40c4fc]
mov dword [ebp - 8], eax
push 5
push str.blank
push dword [ebp - 4]
call dword [sym.imp.MSVCRT.dll_strncmp]
mov ecx, dword [ebp - 8]
add esp, 0xc
neg eax
mov ecx, dword [ecx]
sbb eax, eax
inc eax
test ecx, ecx
jl 0x404dce
cmp dword [ebp - 0x2c], 0
je 0x404da4
mov edx, dword [ebp - 0x38]
xor esi, esi
lea edi, [ecx + edx]
mov cl, byte [edi + esi]
not cl
or byte [ebp + esi - 0x78], cl
inc esi
cmp esi, 0x20
jl 0x404d8b
test eax, eax
je 0x404dc1
or byte [ebp - 0x77], 0x3c
jmp 0x404dc1
mov edx, dword [ebp - 0x38]
xor esi, esi
lea edi, [ecx + edx]
mov cl, byte [edi + esi]
or byte [ebp + esi - 0x78], cl
inc esi
cmp esi, 0x20
jl 0x404dac
test eax, eax
je 0x404dc1
and byte [ebp - 0x77], 0xc3
inc dword [ebp - 0x20]
add dword [ebp - 8], 4
cmp dword [ebp - 0x20], 3
jl 0x404d5c
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 8], 0xa
inc eax
mov dword [ebp - 4], eax
jmp 0x404fd3
cmp esi, 0x5c
jne 0x404e87
push dword [ebp + 0x28]
mov eax, dword [ebp + 0xc]
push 1
push dword [ebp - 0x34]
push dword [eax]
lea eax, [ebp - 4]
push edi
push eax
call fcn.00403bf6
mov esi, eax
add esp, 0x18
neg eax
cmp eax, 4
jne 0x404e10
push 8
pop esi
mov ecx, esi
neg ecx
cmp ecx, 0x10
jne 0x404e3e
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 0x5c
jne 0x404e32
add eax, 2
cmp byte [eax], 0x45
jne 0x404e32
mov dword [ebp - 4], eax
jmp 0x404fd3
mov dword [ebp - 0x40], 1
jmp 0x404fd3
test esi, esi
jge 0x404e87
mov eax, dword [ebp + 0x28]
sub ecx, 5
mov dword [ebp - 8], 0xa
mov eax, dword [eax + 8]
je 0x404f75
dec ecx
je 0x404f63
dec ecx
je 0x404f43
dec ecx
je 0x404f22
dec ecx
je 0x404f08
dec ecx
je 0x404ef0
test byte [ebp - 0x34], 0x40
jne 0x4055f9
mov eax, dword [ebp - 4]
movzx esi, byte [eax]
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 0x2d
jne 0x404f8f
add eax, 2
cmp byte [eax], 0x5d
je 0x404f8f
mov dword [ebp - 4], eax
movzx eax, byte [eax]
cmp eax, 0x5c
mov dword [ebp - 0x20], eax
jne 0x40501d
push dword [ebp + 0x28]
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
push 1
push dword [ebp - 0x34]
push dword [eax]
lea eax, [ebp - 4]
push dword [ebp + 0x18]
push eax
call fcn.00403bf6
add esp, 0x18
mov dword [ebp - 0x20], eax
test eax, eax
jge 0x40501d
cmp eax, 0xfffffffc
jne 0x404f89
push 8
pop eax
mov dword [ebp - 0x20], eax
jmp 0x40501d
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
or byte [ebp + esi - 0x78], cl
inc esi
cmp esi, 0x20
jl 0x404ef2
jmp 0x404fd3
xor esi, esi
mov cl, byte [eax + esi + 0xa0]
not cl
or byte [ebp + esi - 0x78], cl
inc esi
cmp esi, 0x20
jl 0x404f0a
jmp 0x404fd3
mov edi, eax
lea eax, [ebp - 0x78]
xor esi, esi
sub edi, eax
lea ecx, [ebp + esi - 0x78]
mov al, byte [ecx + edi]
or byte [ecx], al
inc esi
cmp esi, 0x20
jl 0x404f2b
and byte [ebp - 0x77], 0xf7
jmp 0x404fd3
mov edi, eax
lea eax, [ebp - 0x78]
xor esi, esi
sub edi, eax
lea ecx, [ebp + esi - 0x78]
mov al, byte [ecx + edi]
not al
or byte [ecx], al
inc esi
cmp esi, 0x20
jl 0x404f4c
or byte [ebp - 0x77], 8
jmp 0x404fd3
xor esi, esi
mov cl, byte [eax + esi + 0x40]
or byte [ebp + esi - 0x78], cl
inc esi
cmp esi, 0x20
jl 0x404f65
jmp 0x404fd3
xor esi, esi
mov cl, byte [eax + esi + 0x40]
not cl
or byte [ebp + esi - 0x78], cl
inc esi
cmp esi, 0x20
jl 0x404f77
jmp 0x404fd3
add edi, 0xfffffffe
mov dword [ebp - 4], edi
mov eax, esi
push 8
cdq
pop ecx
idiv ecx
mov ecx, esi
and ecx, 7
lea edi, [ebp + eax - 0x78]
mov al, 1
shl al, cl
or byte [edi], al
test byte [ebp - 0x34], 1
je 0x404fcd
mov eax, dword [ebp + 0x28]
push 8
pop ecx
mov eax, dword [eax + 4]
movzx esi, byte [eax + esi]
mov eax, esi
cdq
idiv ecx
mov ecx, esi
and ecx, 7
lea edi, [ebp + eax - 0x78]
mov al, 1
shl al, cl
or byte [edi], al
inc dword [ebp - 8]
mov dword [ebp - 0x10], esi
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
movzx esi, byte [eax]
cmp esi, 0x5d
jne 0x404c98
xor eax, eax
cmp dword [ebp - 0x40], eax
jne 0x404c98
cmp dword [ebp - 8], 1
jne 0x4050c0
mov ecx, dword [ebp - 0x28]
cmp dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
je 0x405084
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x40500f
or dword [ebp - 0x24], 0xffffffff
mov eax, dword [ebp - 0x24]
mov byte [ebx], 0x13
mov dword [ebp - 0x20], eax
jmp 0x4050b4
cmp esi, eax
jg 0x405601
mov ecx, dword [ebp - 0x34]
and ecx, 1
sub eax, esi
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp - 8]
lea eax, [ecx + eax + 1]
mov dword [ebp - 8], eax
mov eax, esi
push 8
cdq
pop ecx
idiv ecx
mov ecx, esi
and ecx, 7
lea edi, [ebp + eax - 0x78]
mov al, 1
shl al, cl
or byte [edi], al
cmp dword [ebp - 0x44], 0
je 0x405076
mov eax, dword [ebp + 0x28]
push 8
pop edi
mov eax, dword [eax + 4]
movzx ecx, byte [eax + esi]
mov eax, ecx
and ecx, 7
cdq
idiv edi
lea edi, [ebp + eax - 0x78]
mov al, 1
shl al, cl
or byte [edi], al
mov dword [ebp - 0x10], esi
inc esi
cmp esi, dword [ebp - 0x20]
jle 0x40503a
jmp 0x404fd3
mov eax, dword [ebp - 0x24]
cmp eax, 0xfffffffe
jne 0x40509b
mov eax, dword [ebp - 0x10]
or dword [ebp - 0x20], 0xffffffff
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
jmp 0x4050ad
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0x28]
or eax, dword [ebp - 0x10]
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
mov byte [ebx], 0x12
inc ebx
mov byte [ebx], 1
mov al, byte [ebp - 0x10]
inc ebx
mov byte [ebx], al
inc ebx
jmp 0x40554e
cmp dword [ebp - 0x24], 0xfffffffe
jne 0x4050ca
or dword [ebp - 0x24], 0xffffffff
mov ecx, dword [ebp - 0x24]
cmp dword [ebp - 0xc], eax
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 8], ecx
je 0x4050f6
mov byte [ebx], 0x38
inc ebx
lea eax, [ebp - 0x78]
push 0x20
mov esi, ebx
sub eax, ebx
pop edi
mov cl, byte [eax + esi]
not cl
mov byte [esi], cl
inc esi
dec edi
jne 0x4050e9
jmp 0x405109
mov byte [ebx], 0x37
lea eax, [ebp - 0x78]
inc ebx
push 0x20
push eax
push ebx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add ebx, 0x20
jmp 0x40554e
and dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 1
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x40560c
cmp dword [ebp - 0x1c], 0
jne 0x405139
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x28], eax
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
sub edi, dword [ebp - 0x14]
mov dword [ebp - 0x48], esi
lea ecx, [eax + 1]
neg edi
mov al, byte [ecx]
sbb edi, edi
xor edx, edx
and edi, 0x200
cmp al, 0x2b
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x44], edx
jne 0x405174
xor eax, eax
mov dword [ebp - 0x44], 1
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], ecx
jmp 0x405189
cmp al, 0x3f
jne 0x405180
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x10], eax
jmp 0x40516f
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x10], eax
cmp byte [esi], 0x3b
jne 0x4051cf
mov eax, dword [ebp - 0x18]
push 3
push eax
add eax, 3
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
mov ecx, dword [ebp - 0x18]
add ebx, 3
mov eax, ebx
mov dl, bl
sub eax, ecx
sub dl, cl
sar eax, 8
mov byte [ecx], 0x4c
mov byte [ecx + 1], al
mov byte [ecx + 2], dl
add esp, 0xc
mov byte [ebx], 0x3e
mov byte [ebx + 1], al
mov eax, dword [ebp - 0x10]
mov byte [ebx + 2], dl
mov edx, dword [ebp - 0x38]
add ebx, 3
mov esi, ecx
mov cl, byte [esi]
cmp cl, 0x12
jne 0x405209
movzx ecx, byte [ebx - 1]
dec ebx
mov dword [ebp - 0xc], ecx
lea ecx, [esi + 2]
cmp ebx, ecx
jne 0x405201
cmp dword [ebp - 0x1c], 1
mov ebx, esi
jle 0x40522b
mov ecx, dword [ebp + 0x28]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ecx + 0x28]
or ecx, dword [ebp - 0xc]
or ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x28], ecx
jmp 0x40522b
dec byte [esi + 1]
mov dword [ebp - 0x48], ebx
jmp 0x40522b
cmp cl, 0x13
jne 0x405217
movzx ecx, byte [esi + 1]
push 9
pop edx
jmp 0x405226
cmp cl, 0xd
jae 0x4052d2
push 0x12
pop edx
movzx ecx, cl
mov dword [ebp - 0xc], ecx
mov ebx, esi
cmp dword [ebp - 0x14], 0
je 0x405544
add eax, edx
cmp dword [ebp - 0x1c], 0
jne 0x405250
cmp dword [ebp - 0x14], 0xffffffff
je 0x40529d
cmp dword [ebp - 0x14], 1
jne 0x4052b2
add al, 0x18
mov byte [ebx], al
inc ebx
jmp 0x4052c7
cmp dword [ebp - 0x1c], 1
jne 0x405260
cmp dword [ebp - 0x14], 0xffffffff
jne 0x405276
add al, 0x16
jmp 0x40524b
add dl, 0x1c
mov byte [ebx], dl
mov ecx, dword [ebp - 0x1c]
inc ebx
sar ecx, 8
mov byte [ebx], cl
mov cl, byte [ebp - 0x1c]
mov byte [ebx + 1], cl
jmp 0x405281
mov cl, byte [esi]
cmp cl, 0x12
jne 0x40528a
cmp ebx, esi
jne 0x405285
inc ebx
inc ebx
jmp 0x405290
inc byte [esi + 1]
jmp 0x405290
cmp cl, 0x13
jne 0x405290
inc ebx
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jge 0x4052a1
mov cl, byte [ebp - 0xc]
mov byte [ebx], cl
inc ebx
add al, 0x14
jmp 0x40524b
cmp ecx, dword [ebp - 0x1c]
je 0x4052c7
mov cl, byte [ebp - 0xc]
mov byte [ebx], cl
mov ecx, dword [ebp - 0x1c]
inc ebx
sub dword [ebp - 0x14], ecx
add al, 0x1a
mov byte [ebx], al
mov eax, dword [ebp - 0x14]
inc ebx
sar eax, 8
mov byte [ebx], al
mov al, byte [ebp - 0x14]
mov byte [ebx + 1], al
inc ebx
inc ebx
mov al, byte [ebp - 0xc]
mov byte [ebx], al
inc ebx
jmp 0x4054f7
cmp cl, 0x37
je 0x40548a
cmp cl, 0x38
je 0x40548a
cmp cl, 0x3a
je 0x40548a
cmp cl, 0x4c
jae 0x405300
cmp cl, 0x46
je 0x405300
cmp cl, 0x47
jne 0x405617
mov edi, ebx
xor edx, edx
sub edi, esi
cmp dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x38], edx
mov dword [ebp - 0xc], edx
jne 0x40532a
mov eax, esi
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
add eax, ecx
cmp byte [eax], 0x3e
jne 0x405314
mov ecx, ebx
sub ecx, eax
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x1c], edx
jne 0x4053a0
cmp dword [ebp - 0x14], edx
jne 0x40533b
mov ebx, esi
jmp 0x405541
cmp dword [ebp - 0x14], 1
jg 0x405363
mov eax, dword [ebp - 0x18]
push edi
push eax
lea esi, [eax + 1]
push esi
call dword [sym.imp.MSVCRT.dll_memmove]
mov al, byte [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
add esp, 0xc
inc ebx
add al, 0x49
mov dword [ebp - 0x18], esi
mov byte [ecx], al
jmp 0x405398
mov eax, dword [ebp - 0x18]
push edi
push eax
add eax, 4
push eax
call dword [sym.imp.MSVCRT.dll_memmove]
mov cl, byte [ebp - 0x10]
mov eax, dword [ebp - 0x18]
add cl, 0x49
add esp, 0xc
add ebx, 4
mov byte [eax], cl
inc eax
mov byte [eax], 0x4c
and byte [eax + 1], 0
and byte [eax + 2], 0
inc eax
mov dword [ebp - 0xc], eax
inc eax
inc eax
mov dword [ebp - 0x18], eax
dec dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
jmp 0x4053e2
cmp dword [ebp - 0x1c], 1
jle 0x4053d5
cmp dword [ebp - 0x54], 0
je 0x4053b8
cmp dword [ebp - 0x28], 0
jge 0x4053b8
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
push 1
pop esi
cmp dword [ebp - 0x1c], esi
jle 0x4053d5
push edi
push dword [ebp - 0x18]
push ebx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add ebx, edi
inc esi
cmp esi, dword [ebp - 0x1c]
jl 0x4053c0
mov eax, dword [ebp - 0x14]
test eax, eax
jle 0x4053e4
sub eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
test eax, eax
jl 0x40547c
lea esi, [eax - 1]
test esi, esi
jl 0x405437
mov al, byte [ebp - 0x10]
add al, 0x49
mov byte [ebp - 0x4d], al
jmp 0x4053fe
mov al, byte [ebp - 0x4d]
mov byte [ebx], al
inc ebx
test esi, esi
je 0x405425
mov eax, dword [ebp - 0xc]
mov byte [ebx], 0x4c
inc ebx
mov ecx, ebx
mov dword [ebp - 0xc], ebx
sub ecx, eax
neg eax
sbb eax, eax
and eax, ecx
mov ecx, eax
mov byte [ebx + 1], al
sar ecx, 8
mov byte [ebx], cl
inc ebx
inc ebx
push edi
push dword [ebp - 0x18]
push ebx
call sub.MSVCRT.dll_memcpy
add esp, 0xc
add ebx, edi
dec esi
jns 0x4053fb
cmp dword [ebp - 0xc], 0
je 0x4054f7
mov ecx, ebx
mov esi, dword [ebp - 0xc]
sub ecx, dword [ebp - 0xc]
mov eax, ebx
xor edx, edx
inc ecx
sub eax, ecx
mov dh, byte [eax + 1]
mov dl, byte [eax + 2]
mov byte [ebx], 0x3e
mov dword [ebp - 0x38], edx
sub esi, edx
neg edx
sbb edx, edx
mov byte [ebx + 2], cl
and edx, esi
inc ebx
mov dword [ebp - 0xc], edx
mov edx, ecx
sar edx, 8
mov byte [ebx], dl
inc ebx
inc ebx
mov byte [eax + 1], dl
mov byte [eax + 2], cl
jmp 0x405437
mov al, byte [ebp - 0x10]
mov ecx, ebx
add al, 0x3f
sub ecx, dword [ebp - 0x38]
mov byte [ecx], al
jmp 0x4054f7
mov ecx, dword [ebp - 0x14]
test ecx, ecx
jne 0x405498
mov ebx, esi
jmp 0x405544
cmp dword [ebp - 0x1c], 0
jne 0x4054aa
cmp ecx, 0xffffffff
jne 0x4054bc
add al, 0x2f
jmp 0x4052ca
cmp dword [ebp - 0x1c], 1
jne 0x4054c8
cmp ecx, 0xffffffff
jne 0x4054c8
add al, 0x31
jmp 0x4052ca
cmp ecx, 1
jne 0x4054c8
add al, 0x33
jmp 0x4052ca
add al, 0x35
mov byte [ebx], al
mov eax, dword [ebp - 0x1c]
inc ebx
sar eax, 8
mov byte [ebx], al
mov al, byte [ebp - 0x1c]
mov byte [ebx + 1], al
inc ebx
inc ebx
cmp dword [ebp - 0x14], 0xffffffff
jne 0x4054e7
and dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
sar eax, 8
mov byte [ebx], al
mov al, byte [ebp - 0x14]
mov byte [ebx + 1], al
inc ebx
inc ebx
cmp dword [ebp - 0x44], 0
je 0x405541
mov ecx, dword [ebp - 0x48]
mov eax, ebx
sub eax, ecx
push eax
push ecx
add ecx, 3
mov dword [ebp - 0x44], eax
push ecx
call dword [sym.imp.MSVCRT.dll_memmove]
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
add ebx, 3
add ecx, 3
mov byte [eax], 0x46
add esp, 0xc
mov byte [ebx], 0x3e
mov eax, ecx
inc ebx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
mov edx, dword [ebp - 0x48]
inc ebx
inc ebx
mov byte [edx + 1], al
mov eax, dword [ebp - 0x48]
mov byte [eax + 2], cl
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebp + 0x28]
and dword [ebp - 0x18], 0
or dword [eax + 0x28], edi
inc dword [ebp - 4]
mov edi, dword [ebp - 4]
mov edx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x24]
jmp 0x4042df
mov eax, dword [ebp + 0x18]
mov dword [eax], str.invalid_condition____0_
jmp 0x405620
mov eax, dword [ebp + 0x18]
mov dword [eax], str.two_named_groups_have_the_same_name
jmp 0x405620
mov eax, dword [ebp + 0x18]
mov dword [eax], str.reference_to_non_existent_subpattern
jmp 0x405620
mov eax, dword [ebp + 0x18]
mov dword [eax], str.recursive_call_could_loop_indefinitely
jmp 0x405620
mov eax, dword [ebp + 0x18]
mov dword [eax], str.number_after___C_is___255
jmp 0x405620
mov eax, dword [ebp + 0x18]
mov dword [eax], str.conditional_group_contains_more_than_two_branches
jmp 0x405620
mov eax, dword [ebp + 0x18]
mov dword [eax], str.missing__
jmp 0x405620
mov eax, dword [ebp + 0x1c]
mov ecx, dword [ebp - 0x28]
push 1
mov dword [eax], esi
mov eax, dword [ebp + 0x20]
mov dword [eax], ecx
mov eax, dword [ebp + 0x10]
mov dword [eax], ebx
pop eax
jmp 0x405622
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 0x3a
mov eax, str.POSIX_named_classes_are_supported_only_within_a_class
je 0x4055e2
mov eax, str.POSIX_collating_elements_are_not_supported
mov ecx, dword [ebp + 0x18]
mov dword [ecx], eax
jmp 0x405620
mov dword [edi], str.POSIX_collating_elements_are_not_supported
jmp 0x405620
mov dword [edi], str.unknown_POSIX_class_name
jmp 0x405620
mov dword [edi], str.invalid_escape_sequence_in_character_class
jmp 0x405620
mov eax, dword [ebp + 0x18]
mov dword [eax], str.range_out_of_order_in_character_class
jmp 0x405620
mov eax, dword [ebp + 0x18]
mov dword [eax], str.nothing_to_repeat
jmp 0x405620
mov eax, dword [ebp + 0x18]
mov dword [eax], str.internal_error:_unexpected_repeat
xor eax, eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 4]
pop edi
pop esi
mov dword [ecx], edx
pop ebx
leave
ret