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

Disassembly:
sub esp, 0x90
mov eax, dword [esp + 0x94]
mov edx, dword [eax]
mov eax, dword [esp + 0x9c]
push ebx
mov ebx, dword [eax]
mov eax, dword [esp + 0xa4]
push ebp
mov ebp, dword [eax]
mov eax, edx
shr eax, 9
and eax, 1
mov dword [esp + 0x8c], eax
xor eax, 1
mov dword [esp + 0x90], eax
mov eax, 0xfffffffe
xor ecx, ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], eax
mov eax, edx
and eax, 1
push esi
shl eax, 8
push edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x58], eax
cmp dword [esp + 0x54], ecx
mov dword [esp + 0x10], ebp
movzx eax, byte [ebp]
mov dword [esp + 0x1c], eax
je 0x10060e2e
cmp eax, ecx
jne case.0x10060e85.1
test dl, 8
je 0x10060e73
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + 0xc]
test byte [eax + edx], 1
jne 0x10060eb0
mov eax, dword [esp + 0x1c]
cmp eax, 0x23
jne 0x10060e6f
lea esp, [esp]
inc ebp
mov dword [esp + 0x10], ebp
movzx eax, byte [ebp]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x10060e6f
cmp eax, 0xa
jne 0x10060e50
mov edx, dword [esp + 0x44]
inc ebp
xor ecx, ecx
jmp 0x10060e14
mov edx, dword [esp + 0x44]
xor esi, esi
cmp eax, 0x7c
ja case.0x10060e85.1
movzx eax, byte [eax + 0x10062938]
jmp dword [eax*4 + 0x10062908]
test dl, 2
je 0x10060ea0
cmp dword [esp + 0x30], 0xfffffffe
jne 0x10060ea0
mov dword [esp + 0x30], 0xffffffff
mov byte [ebx], 0x10
inc ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
inc ebp
xor ecx, ecx
jmp 0x10060e14
mov edx, dword [esp + 0x44]
mov byte [ebx], 0x11
mov ebp, dword [esp + 0x10]
inc ebx
inc ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
xor ecx, ecx
jmp 0x10060e14
mov eax, dword [esp + 0x30]
cmp eax, 0xfffffffe
jne 0x10060ee8
or eax, 0xffffffff
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
mov byte [ebx], 0xb
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x18], ebx
inc ebx
mov dword [esp + 0x40], ecx
inc ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], ebx
xor ecx, ecx
jmp 0x10060e14
mov al, byte [ebp + 1]
cmp al, 0x3a
mov dword [esp + 0x18], ebx
je 0x10060f23
cmp al, 0x2e
je 0x10060f23
cmp al, 0x3d
jne 0x10060f46
mov edx, dword [esp + 0xc4]
push edx
lea eax, [esp + 0x68]
push eax
mov eax, ebp
call fcn.10060d00
mov ebp, dword [esp + 0x18]
add esp, 8
test eax, eax
jne 0x10062731
inc ebp
mov dword [esp + 0x10], ebp
movzx edi, byte [ebp]
cmp edi, 0x5e
jne 0x10060f67
inc ebp
mov dword [esp + 0x10], ebp
movzx edi, byte [ebp]
mov dword [esp + 0x24], 1
jmp 0x10060f6b
mov dword [esp + 0x24], esi
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x84], ecx
nop
mov eax, dword [esp + 0x54]
test eax, eax
je 0x10060fc9
cmp edi, 0x5c
jne 0x100614e2
cmp byte [ebp + 1], 0x45
jne 0x100614e2
mov dword [esp + 0x54], 0
inc ebp
jmp 0x1006153e
cmp edi, 0x5b
jne 0x10061139
mov al, byte [ebp + 1]
cmp al, 0x3a
je 0x10060fe5
cmp al, 0x2e
je 0x10060fe5
cmp al, 0x3d
jne 0x100613ef
mov edx, dword [esp + 0xc4]
push edx
lea eax, [esp + 0x68]
push eax
mov eax, ebp
call fcn.10060d00
add esp, 8
test eax, eax
je 0x100613eb
mov ebp, dword [esp + 0x10]
cmp byte [ebp + 1], 0x3a
mov ecx, dword [esp + 0xc4]
mov esi, dword [ecx + 8]
mov dword [esp + 0x20], 0
jne 0x10062760
add ebp, 2
mov dword [esp + 0x10], ebp
cmp byte [ebp], 0x5e
jne 0x1006103e
inc ebp
mov dword [esp + 0x20], 1
mov dword [esp + 0x10], ebp
mov edi, dword [esp + 0x64]
sub edi, ebp
mov ebx, ebp
call fcn.10060d50
test eax, eax
jl 0x10062783
test byte [esp + 0x44], 1
je 0x10061061
cmp eax, 2
jg 0x10061061
xor eax, eax
lea eax, [eax + eax*2]
xor ebx, ebx
lea ebp, [eax*4 + 0x10086080]
lea ecx, [ecx]
mov edx, dword [esp + 0x10]
push 5
push str.blank
push edx
call fcn.1006ba90
add esp, 0xc
mov edi, eax
mov eax, dword [ebp]
neg edi
sbb edi, edi
inc edi
test eax, eax
jl 0x10061123
mov ecx, dword [esp + 0x20]
test ecx, ecx
lea edx, [eax + esi + 1]
je 0x100610df
xor ecx, ecx
mov al, byte [edx + ecx - 1]
not al
or byte [esp + ecx + 0x68], al
mov al, byte [edx + ecx]
not al
or byte [esp + ecx + 0x69], al
mov al, byte [edx + ecx + 1]
not al
or byte [esp + ecx + 0x6a], al
mov al, byte [edx + ecx + 2]
not al
or byte [esp + ecx + 0x6b], al
add ecx, 4
cmp ecx, 0x20
jl 0x100610a4
test edi, edi
je 0x10061116
mov al, byte [esp + 0x69]
or al, 0x3c
jmp 0x10061112
xor ecx, ecx
mov al, byte [edx + ecx - 1]
or byte [esp + ecx + 0x68], al
mov al, byte [edx + ecx]
or byte [esp + ecx + 0x69], al
mov al, byte [edx + ecx + 1]
or byte [esp + ecx + 0x6a], al
mov al, byte [edx + ecx + 2]
or byte [esp + ecx + 0x6b], al
add ecx, 4
cmp ecx, 0x20
jl 0x100610e1
test edi, edi
je 0x10061116
mov al, byte [esp + 0x69]
and al, 0xc3
mov byte [esp + 0x69], al
inc ebx
add ebp, 4
cmp ebx, 3
jl 0x10061070
mov ebp, dword [esp + 0x64]
mov ebx, dword [esp + 0x14]
inc ebp
mov dword [esp + 0x28], 0xa
jmp 0x1006153e
cmp edi, 0x5c
jne 0x100613ef
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xa8]
mov eax, dword [edx]
mov esi, dword [esp + 0xb4]
push 1
push ecx
push eax
lea ecx, [esp + 0x1c]
push ecx
mov eax, esi
call fcn.10060560
mov edi, eax
mov edx, edi
neg edx
add esp, 0x10
cmp edx, 4
jne 0x10061179
mov edi, 8
mov eax, edi
neg eax
cmp eax, 0x10
jne 0x100611a7
mov ebp, dword [esp + 0x10]
cmp byte [ebp + 1], 0x5c
jne 0x1006119a
cmp byte [ebp + 2], 0x45
jne 0x1006119a
add ebp, 2
jmp 0x1006153e
mov dword [esp + 0x54], 1
jmp 0x1006153e
test edi, edi
jge 0x100613eb
mov ecx, dword [esp + 0xc4]
mov edi, dword [ecx + 8]
add eax, 0xfffffffb
cmp eax, 5
mov dword [esp + 0x28], 0xa
ja case.default.0x100611cd
jmp dword [eax*4 + 0x100629b8]
lea eax, [esp + 0x69]
add edi, 0x41
mov ebp, 8
mov dl, byte [edi - 1]
mov cl, byte [eax - 1]
or cl, dl
mov dl, byte [eax]
mov byte [eax - 1], cl
mov cl, byte [edi]
or dl, cl
mov cl, byte [eax + 1]
mov byte [eax], dl
mov dl, byte [edi + 1]
or cl, dl
mov dl, byte [eax + 2]
mov byte [eax + 1], cl
mov cl, byte [edi + 2]
or dl, cl
mov byte [eax + 2], dl
add edi, 4
add eax, 4
dec ebp
jne 0x100611e0
mov ebp, dword [esp + 0x10]
jmp 0x1006153e
lea eax, [esp + 0x69]
add edi, 0x41
mov ebp, 8
mov dl, byte [edi - 1]
mov cl, byte [eax - 1]
not dl
or cl, dl
mov dl, byte [eax]
mov byte [eax - 1], cl
mov cl, byte [edi]
not cl
or dl, cl
mov cl, byte [eax + 1]
mov byte [eax], dl
mov dl, byte [edi + 1]
not dl
or cl, dl
mov dl, byte [eax + 2]
mov byte [eax + 1], cl
mov cl, byte [edi + 2]
not cl
or dl, cl
mov byte [eax + 2], dl
add edi, 4
add eax, 4
dec ebp
jne 0x10061227
mov ebp, dword [esp + 0x10]
jmp 0x1006153e
lea eax, [esp + 0x69]
add edi, 0xa1
mov ebp, 8
lea esp, [esp]
mov dl, byte [edi - 1]
mov cl, byte [eax - 1]
or cl, dl
mov dl, byte [eax]
mov byte [eax - 1], cl
mov cl, byte [edi]
or dl, cl
mov cl, byte [eax + 1]
mov byte [eax], dl
mov dl, byte [edi + 1]
or cl, dl
mov dl, byte [eax + 2]
mov byte [eax + 1], cl
mov cl, byte [edi + 2]
or dl, cl
mov byte [eax + 2], dl
add edi, 4
add eax, 4
dec ebp
jne 0x10061280
mov ebp, dword [esp + 0x10]
jmp 0x1006153e
lea eax, [esp + 0x69]
add edi, 0xa1
mov ebp, 8
lea ebx, [ebx]
mov dl, byte [edi - 1]
mov cl, byte [eax - 1]
not dl
or cl, dl
mov dl, byte [eax]
mov byte [eax - 1], cl
mov cl, byte [edi]
not cl
or dl, cl
mov cl, byte [eax + 1]
mov byte [eax], dl
mov dl, byte [edi + 1]
not dl
or cl, dl
mov dl, byte [eax + 2]
mov byte [eax + 1], cl
mov cl, byte [edi + 2]
not cl
or dl, cl
mov byte [eax + 2], dl
add edi, 4
add eax, 4
dec ebp
jne 0x100612d0
mov ebp, dword [esp + 0x10]
jmp 0x1006153e
mov esi, edi
lea edx, [esp + 0x68]
xor ebp, ebp
sub esi, edx
lea ecx, [ecx]
mov dl, byte [esp + ebp + 0x68]
lea eax, [esp + ebp + 0x68]
mov cl, byte [esi + eax]
or dl, cl
mov cl, byte [eax + 1]
mov byte [eax], dl
mov dl, byte [edi + ebp + 1]
or cl, dl
mov dl, byte [eax + 2]
mov byte [eax + 1], cl
mov cl, byte [edi + ebp + 2]
or dl, cl
mov cl, byte [eax + 3]
mov byte [eax + 2], dl
mov dl, byte [edi + ebp + 3]
or cl, dl
add ebp, 4
cmp ebp, 0x20
mov byte [eax + 3], cl
jl 0x10061320
mov al, byte [esp + 0x69]
mov ebp, dword [esp + 0x10]
and al, 0xf7
mov byte [esp + 0x69], al
jmp 0x1006153e
mov esi, edi
lea eax, [esp + 0x68]
xor ebp, ebp
sub esi, eax
jmp 0x10061380
mov dl, byte [esp + ebp + 0x68]
lea eax, [esp + ebp + 0x68]
mov cl, byte [esi + eax]
not cl
or dl, cl
mov cl, byte [eax + 1]
mov byte [eax], dl
mov dl, byte [edi + ebp + 1]
not dl
or cl, dl
mov dl, byte [eax + 2]
mov byte [eax + 1], cl
mov cl, byte [edi + ebp + 2]
not cl
or dl, cl
mov cl, byte [eax + 3]
mov byte [eax + 2], dl
mov dl, byte [edi + ebp + 3]
not dl
or cl, dl
add ebp, 4
cmp ebp, 0x20
mov byte [eax + 3], cl
jl 0x10061380
mov al, byte [esp + 0x69]
mov ebp, dword [esp + 0x10]
or al, 8
mov byte [esp + 0x69], al
jmp 0x1006153e
test byte [esp + 0x44], 0x40
mov ebp, dword [esp + 0x10]
jne 0x100627aa
movzx edi, byte [ebp]
jmp 0x100613ef
mov ebp, dword [esp + 0x10]
cmp byte [ebp + 1], 0x2d
jne 0x100614e2
cmp byte [ebp + 2], 0x5d
je 0x100614e2
add ebp, 2
mov dword [esp + 0x10], ebp
movzx eax, byte [ebp]
cmp eax, 0x5c
mov dword [esp + 0x20], eax
jne 0x1006145a
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx]
push 1
push eax
push edx
lea eax, [esp + 0x1c]
push eax
mov eax, dword [esp + 0xc4]
call fcn.10060560
add esp, 0x10
test eax, eax
mov dword [esp + 0x20], eax
jge 0x10061456
cmp eax, 0xfffffffc
jne 0x100614db
mov eax, 8
mov dword [esp + 0x20], eax
mov ebp, dword [esp + 0x10]
cmp eax, edi
jl 0x100627c6
mov ecx, dword [esp + 0x44]
and ecx, 1
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x28]
sub eax, edi
lea edx, [ecx + eax + 1]
mov dword [esp + 0x28], edx
jmp 0x10061480
mov eax, edi
cdq
and edx, 7
add eax, edx
sar eax, 3
lea esi, [esp + eax + 0x68]
mov ecx, edi
and ecx, 7
mov al, 1
shl al, cl
mov cl, byte [esi]
or cl, al
mov eax, dword [esp + 0x3c]
test eax, eax
mov byte [esi], cl
je 0x100614cc
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx + 4]
movzx ecx, byte [edx + edi]
mov eax, ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
lea esi, [esp + eax + 0x68]
and ecx, 7
mov al, 1
shl al, cl
or byte [esi], al
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], edi
inc edi
cmp edi, eax
jle 0x10061480
jmp 0x1006153e
add ebp, 0xfffffffe
mov dword [esp + 0x10], ebp
mov eax, edi
cdq
and edx, 7
add eax, edx
mov ecx, edi
and ecx, 7
sar eax, 3
mov dl, 1
shl dl, cl
mov cl, byte [esp + eax + 0x68]
lea esi, [esp + eax + 0x68]
mov al, byte [esp + 0x44]
or cl, dl
test al, 1
mov byte [esi], cl
je 0x10061536
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 4]
movzx edi, byte [ecx + edi]
mov eax, edi
cdq
and edx, 7
add eax, edx
mov ecx, edi
sar eax, 3
and ecx, 7
lea esi, [esp + eax + 0x68]
mov al, byte [esi]
mov dl, 1
shl dl, cl
or al, dl
mov byte [esi], al
inc dword [esp + 0x28]
mov dword [esp + 0x1c], edi
inc ebp
mov dword [esp + 0x10], ebp
movzx edi, byte [ebp]
cmp edi, 0x5d
jne 0x10060fa0
mov eax, dword [esp + 0x54]
test eax, eax
jne 0x10060fa8
cmp dword [esp + 0x28], 1
jne 0x10061625
mov eax, dword [esp + 0x34]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x24]
test eax, eax
mov eax, dword [esp + 0x30]
je 0x100615aa
cmp eax, 0xfffffffe
jne 0x10061587
or eax, 0xffffffff
mov dword [esp + 0x30], eax
mov dl, byte [esp + 0x1c]
mov byte [ebx], 0x13
inc ebx
mov byte [ebx], dl
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
inc ebx
inc ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], ebx
xor ecx, ecx
jmp 0x10060e14
cmp eax, 0xfffffffe
jne 0x100615e8
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x1c]
mov dl, byte [esp + 0x1c]
or eax, ecx
mov byte [ebx], 0x12
inc ebx
mov byte [ebx], 1
inc ebx
mov byte [ebx], dl
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
inc ebx
inc ebp
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x30], eax
mov dword [esp + 0x14], ebx
xor ecx, ecx
jmp 0x10060e14
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [ecx + 0x28]
mov ecx, dword [esp + 0x58]
or eax, edx
or eax, ecx
mov byte [ebx], 0x12
inc ebx
mov byte [ebx], 1
inc ebx
mov byte [ebx], dl
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
inc ebx
inc ebp
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], ebx
xor ecx, ecx
jmp 0x10060e14
mov eax, dword [esp + 0x30]
cmp eax, 0xfffffffe
jne 0x10061635
or eax, 0xffffffff
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10061682
mov byte [ebx], 0x38
inc ebx
lea edi, [esp + 0x68]
mov eax, ebx
sub edi, ebx
mov ebp, 0x20
lea ebx, [ebx]
mov cl, byte [edi + eax]
not cl
mov byte [eax], cl
inc eax
dec ebp
jne 0x10061660
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
add ebx, 0x20
inc ebp
mov dword [esp + 0x14], ebx
xor ecx, ecx
jmp 0x10060e14
mov edx, dword [esp + 0x44]
mov byte [ebx], 0x37
inc ebx
mov edi, ebx
mov ecx, 8
lea esi, [esp + 0x68]
rep movsd dword es:[edi], dword [esi]
mov ebp, dword [esp + 0x10]
add ebx, 0x20
inc ebp
mov dword [esp + 0x14], ebx
xor ecx, ecx
jmp 0x10060e14
inc ebp
mov eax, ebp
call fcn.10060760
test eax, eax
je case.0x10060e85.1
mov edi, dword [esp + 0xb4]
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x3c]
push eax
mov eax, ebp
call fcn.100607f0
mov ebp, eax
mov eax, dword [edi]
add esp, 8
cmp eax, esi
mov dword [esp + 0x10], ebp
jne 0x10062794
jmp 0x1006170f
mov dword [esp + 0x2c], 0xffffffff
jmp 0x1006170b
mov dword [esp + 0x38], 1
mov dword [esp + 0x2c], 0xffffffff
jmp 0x1006170f
mov dword [esp + 0x2c], 1
mov dword [esp + 0x38], esi
cmp dword [esp + 0x18], esi
je 0x100627e9
cmp dword [esp + 0x38], esi
jne 0x1006172f
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
xor eax, eax
cmp edi, ecx
sete al
xor esi, esi
mov dword [esp + 0x50], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], esi
dec eax
and eax, 0x200
mov dword [esp + 0x90], eax
mov al, byte [ebp + 1]
cmp al, 0x2b
jne 0x10061779
inc ebp
mov dword [esp + 0x28], esi
mov dword [esp + 0x3c], 1
mov dword [esp + 0x10], ebp
mov eax, esi
jmp 0x10061796
cmp al, 0x3f
jne 0x1006178b
mov eax, dword [esp + 0x98]
inc ebp
mov dword [esp + 0x10], ebp
jmp 0x10061792
mov eax, dword [esp + 0x94]
mov dword [esp + 0x28], eax
mov edi, dword [esp + 0x18]
cmp byte [edi], 0x3b
jne 0x100617e7
push 3
mov eax, edi
push eax
add eax, 3
push eax
call fcn.10068e40
mov dl, byte [esp + 0x24]
add ebx, 3
mov ecx, edi
mov eax, ebx
sub eax, ecx
mov byte [ecx], 0x4c
sar eax, 8
mov byte [ecx + 1], al
mov cl, bl
sub cl, dl
mov edx, edi
mov byte [edx + 2], cl
mov byte [ebx + 1], al
mov eax, dword [esp + 0x34]
mov byte [ebx], 0x3e
mov byte [ebx + 2], cl
mov ebp, dword [esp + 0x1c]
add esp, 0xc
add ebx, 3
mov dword [esp + 0x14], ebx
mov cl, byte [edi]
cmp cl, 0x12
jne 0x10061876
movzx ecx, byte [ebx - 1]
dec ebx
lea edx, [edi + 2]
cmp ebx, edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ecx
jne 0x10061869
cmp dword [esp + 0x38], 1
mov dword [esp + 0x14], edi
mov ebx, edi
jle 0x1006182d
mov ecx, dword [esp + 0xc4]
mov ecx, dword [ecx + 0x28]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x58]
or ecx, esi
or ecx, edx
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x10061c85
mov ecx, dword [esp + 0x38]
add eax, edx
test ecx, ecx
mov dword [esp + 0x28], eax
jne 0x100618d2
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xffffffff
jne 0x100618b8
add al, 0x14
mov byte [ebx], al
mov al, byte [esp + 0x1c]
inc ebx
mov byte [ebx], al
inc ebx
jmp 0x10061c22
dec byte [edi + 1]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x50], ebx
jmp 0x1006182d
cmp cl, 0x13
jne 0x10061894
movzx ecx, byte [edi + 1]
mov edx, 9
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edi
mov ebx, edi
jmp 0x10061831
cmp cl, 0xd
jae 0x1006197c
movzx ecx, cl
mov edx, 0x12
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], edi
mov ebx, edi
jmp 0x10061831
cmp ecx, 1
jne 0x1006195e
add al, 0x18
mov byte [ebx], al
mov al, byte [esp + 0x1c]
inc ebx
mov byte [ebx], al
inc ebx
jmp 0x10061c22
cmp dword [esp + 0x38], 1
jne 0x100618f1
cmp dword [esp + 0x2c], 0xffffffff
jne 0x1006190a
add al, 0x16
mov byte [ebx], al
mov al, byte [esp + 0x1c]
inc ebx
mov byte [ebx], al
inc ebx
jmp 0x10061c22
mov ecx, dword [esp + 0x38]
add dl, 0x1c
mov byte [ebx], dl
inc ebx
mov edx, ecx
sar edx, 8
mov byte [ebx], dl
mov byte [ebx + 1], cl
add ebx, 2
jmp 0x10061925
mov cl, byte [edi]
cmp cl, 0x12
jne 0x1006191f
cmp ebx, edi
jne 0x1006191a
add ebx, 2
jmp 0x10061925
inc byte [edi + 1]
jmp 0x10061925
cmp cl, 0x13
jne 0x10061925
inc ebx
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jge 0x10061943
mov cl, byte [esp + 0x1c]
mov byte [ebx], cl
add al, 0x14
inc ebx
mov byte [ebx], al
inc ebx
mov al, cl
mov byte [ebx], al
inc ebx
jmp 0x10061c22
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x2c], edx
je 0x10061970
mov cl, byte [esp + 0x1c]
mov byte [ebx], cl
mov ecx, dword [esp + 0x2c]
inc ebx
sub ecx, edx
mov dword [esp + 0x2c], ecx
add al, 0x1a
mov byte [ebx], al
inc ebx
mov edx, ecx
sar edx, 8
mov byte [ebx + 1], cl
mov byte [ebx], dl
add ebx, 2
mov al, byte [esp + 0x1c]
mov byte [ebx], al
inc ebx
jmp 0x10061c22
cmp cl, 0x37
je 0x10061bae
cmp cl, 0x38
je 0x10061bae
cmp cl, 0x3a
je 0x10061bae
cmp cl, 0x4c
jae 0x100619aa
cmp cl, 0x46
je 0x100619aa
cmp cl, 0x47
jne 0x1006280c
xor ecx, ecx
mov dword [esp + 0x60], ecx
mov esi, ebx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x2c]
sub esi, edi
cmp ecx, 0xffffffff
mov dword [esp + 0x24], esi
jne 0x100619e2
mov ecx, edi
xor edx, edx
mov dh, byte [ecx + 1]
mov dl, byte [ecx + 2]
add ecx, edx
cmp byte [ecx], 0x3e
jne 0x100619c7
mov edx, ebx
sub edx, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x10061a75
test ecx, ecx
jne 0x100619fd
mov dword [esp + 0x14], edi
mov ebx, edi
jmp 0x10061c85
cmp ecx, 1
mov eax, dword [esp + 0x18]
push esi
push eax
jg 0x10061a27
lea edi, [eax + 1]
push edi
call fcn.10068e40
mov al, byte [esp + 0x34]
mov ecx, dword [esp + 0x24]
add esp, 0xc
inc ebx
add al, 0x49
mov byte [ecx], al
mov dword [esp + 0x18], edi
jmp 0x10061a5a
add eax, 4
push eax
call fcn.10068e40
mov dl, byte [esp + 0x34]
mov eax, dword [esp + 0x24]
add dl, 0x49
mov byte [eax], dl
add esp, 0xc
add ebx, 4
inc eax
mov byte [eax], 0x4c
inc eax
mov dword [esp + 0x1c], eax
mov byte [eax], 0
mov byte [eax + 1], 0
add eax, 2
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x10]
dec eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ebx
jmp 0x10061ae0
cmp edx, 1
jle 0x10061ad6
mov esi, dword [esp + 0x88]
test esi, esi
je 0x10061a95
mov esi, dword [esp + 0x34]
test esi, esi
jge 0x10061a95
mov esi, dword [esp + 0x30]
mov dword [esp + 0x34], esi
cmp edx, 1
jle 0x10061ad6
mov ebp, dword [esp + 0x24]
dec edx
mov dword [esp + 0x20], edx
mov esi, dword [esp + 0x18]
mov ecx, ebp
mov edx, ecx
shr ecx, 2
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x20]
add ebx, ebp
dec ecx
mov dword [esp + 0x20], ecx
jne 0x10061aa3
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ebx
test ecx, ecx
jle 0x10061ae2
sub ecx, edx
mov dword [esp + 0x2c], ecx
test ecx, ecx
jl 0x10061ba0
mov edx, dword [esp + 0x1c]
dec ecx
mov dword [esp + 0x20], ecx
js 0x10061b5d
mov esi, dword [esp + 0x24]
add al, 0x49
mov byte [esp + 0x5f], al
lea ecx, [ecx]
mov ecx, dword [esp + 0x20]
mov byte [ebx], al
inc ebx
test ecx, ecx
je 0x10061b2e
mov byte [ebx], 0x4c
inc ebx
test edx, edx
jne 0x10061b17
xor ecx, ecx
jmp 0x10061b1b
mov ecx, ebx
sub ecx, edx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov al, byte [esp + 0x5f]
mov edx, ebx
mov byte [ebx + 1], cl
add ebx, 2
mov ecx, esi
mov esi, dword [esp + 0x18]
mov ebp, ecx
shr ecx, 2
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
add ebx, esi
dec ecx
mov dword [esp + 0x20], ecx
jns 0x10061b00
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
test edx, edx
je 0x10061c2a
mov eax, ebx
sub eax, edx
inc eax
mov esi, ebx
sub esi, eax
xor ecx, ecx
mov ch, byte [esi + 1]
mov cl, byte [esi + 2]
test ecx, ecx
jne 0x10061b7e
xor edx, edx
jmp 0x10061b80
sub edx, ecx
mov byte [ebx], 0x3e
inc ebx
mov ecx, eax
sar ecx, 8
mov byte [ebx], cl
mov byte [ebx + 1], al
add ebx, 2
test edx, edx
mov byte [esi + 1], cl
mov byte [esi + 2], al
jne 0x10061b65
jmp 0x10061c22
mov edx, dword [esp + 0x60]
add al, 0x3f
mov ecx, ebx
sub ecx, edx
mov byte [ecx], al
jmp 0x10061c26
mov ecx, dword [esp + 0x2c]
cmp ecx, esi
jne 0x10061bc1
mov dword [esp + 0x14], edi
mov ebx, edi
jmp 0x10061c85
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x10061bd5
cmp ecx, 0xffffffff
jne 0x10061be8
add al, 0x2f
mov byte [ebx], al
inc ebx
jmp 0x10061c22
cmp dword [esp + 0x38], 1
jne 0x10061bf4
cmp ecx, 0xffffffff
jne 0x10061bf4
add al, 0x31
mov byte [ebx], al
inc ebx
jmp 0x10061c22
cmp ecx, 1
jne 0x10061bf4
add al, 0x33
mov byte [ebx], al
inc ebx
jmp 0x10061c22
add al, 0x35
mov byte [ebx], al
mov eax, dword [esp + 0x38]
inc ebx
mov edx, eax
sar edx, 8
mov byte [ebx], dl
mov byte [ebx + 1], al
add ebx, 2
cmp ecx, 0xffffffff
jne 0x10061c15
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
add ebx, 2
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x10061c85
mov ecx, dword [esp + 0x50]
mov eax, ebx
sub eax, ecx
push eax
push ecx
add ecx, 3
push ecx
mov dword [esp + 0x48], eax
call fcn.10068e40
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x48]
mov byte [edx], 0x46
mov byte [ebx + 3], 0x3e
add ecx, 3
add ebx, 3
mov byte [ebx + 2], cl
add esp, 0xc
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov edx, dword [esp + 0x50]
mov byte [edx + 1], al
mov eax, dword [esp + 0x50]
add ebx, 2
mov byte [eax + 2], cl
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x90]
or dword [eax + 0x28], ecx
mov edx, dword [esp + 0x44]
inc ebp
mov dword [esp + 0x18], 0
xor ecx, ecx
jmp 0x10060e14
inc ebp
mov dword [esp + 0x10], ebp
cmp byte [ebp], 0x3f
mov dword [esp + 0x60], edx
mov dword [esp + 0x20], esi
jne 0x100622b1
inc ebp
mov dword [esp + 0x10], ebp
mov cl, byte [ebp]
movzx eax, cl
add eax, 0xffffffdf
cmp eax, 0x31
ja case.0x10061cdf.34
movzx eax, byte [eax + 0x10062a00]
jmp dword [eax*4 + 0x100629d0]
inc ebp
mov dword [esp + 0x10], ebp
cmp byte [ebp], 0x29
je 0x10060eb0
inc ebp
mov dword [esp + 0x10], ebp
cmp byte [ebp], 0x29
jne 0x10061cf5
mov edx, dword [esp + 0x44]
inc ebp
xor ecx, ecx
jmp 0x10060e14
inc ebp
mov dword [esp + 0x48], 0x4c
mov dword [esp + 0x10], ebp
jmp 0x100622cd
mov al, byte [ebp + 1]
cmp al, 0x52
mov dword [esp + 0x48], 0x47
jne 0x10061d51
mov al, 0xff
mov byte [ebx + 4], al
mov byte [ebx + 5], al
mov byte [ebx + 3], 0x48
mov ecx, dword [esp + 0x10]
mov eax, 3
add ecx, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], ecx
jmp 0x100622cd
movzx ecx, al
mov al, byte [ecx + 0x10086128]
test al, al
je 0x100622cd
inc ebp
mov dword [esp + 0x10], ebp
movzx eax, byte [ebp]
sub eax, 0x30
inc ebp
mov dword [esp + 0x10], ebp
mov cl, byte [ebp]
cmp cl, 0x29
je 0x10061d97
jmp 0x10061d80
inc ebp
lea edx, [eax + eax*4]
movzx eax, cl
mov dword [esp + 0x10], ebp
mov cl, byte [ebp]
cmp cl, 0x29
lea eax, [eax + edx*2 - 0x30]
jne 0x10061d80
cmp eax, esi
je 0x1006282f
inc ebp
mov ecx, eax
mov dword [esp + 0x10], ebp
sar ecx, 8
mov byte [ebx + 3], 0x48
mov byte [ebx + 4], cl
mov byte [ebx + 5], al
mov dword [esp + 0x20], 3
jmp 0x100622cd
inc ebp
mov dword [esp + 0x48], 0x41
mov dword [esp + 0x10], ebp
jmp 0x100622cd
inc ebp
mov dword [esp + 0x48], 0x42
mov dword [esp + 0x10], ebp
jmp 0x100622cd
inc ebp
mov dword [esp + 0x10], ebp
mov al, byte [ebp]
cmp al, 0x21
je 0x10061e0a
cmp al, 0x3d
jne 0x100622cd
inc ebp
mov dword [esp + 0x48], 0x43
mov dword [esp + 0x10], ebp
jmp 0x100622cd
inc ebp
mov dword [esp + 0x48], 0x44
mov dword [esp + 0x10], ebp
jmp 0x100622cd
inc ebp
mov dword [esp + 0x48], 0x46
mov dword [esp + 0x10], ebp
jmp 0x100622cd
mov byte [ebx], 0x3c
mov ebp, dword [esp + 0x10]
inc ebx
xor eax, eax
inc ebp
mov dword [esp + 0x10], ebp
movzx ecx, byte [ebp]
mov dl, 4
test byte [ecx + 0x10086128], dl
je 0x10061e73
jmp 0x10061e50
inc ebp
lea eax, [eax + eax*4]
lea eax, [ecx + eax*2 - 0x30]
mov dword [esp + 0x10], ebp
movzx ecx, byte [ebp]
test byte [ecx + 0x10086128], dl
jne 0x10061e50
cmp eax, 0xff
jg 0x10062852
mov edx, dword [esp + 0x44]
mov byte [ebx], al
mov ebp, dword [esp + 0x10]
inc ebx
inc ebp
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
xor ecx, ecx
jmp 0x10060e14
inc ebp
mov dword [esp + 0x10], ebp
mov al, byte [ebp]
cmp al, 0x3c
jne 0x10061fe1
mov esi, dword [esp + 0xc4]
mov ecx, dword [esi + 0x14]
inc ebp
mov dword [esp + 0x28], ecx
mov ecx, ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x3c], ecx
mov dl, byte [ebp]
inc ebp
cmp dl, 0x3e
mov dword [esp + 0x10], ebp
jne 0x10061eb7
mov edx, dword [esi + 0x18]
mov eax, ebp
sub eax, ecx
dec eax
test edx, edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x24], 0
jle 0x10061f5d
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
add edi, 2
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10061efa
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x10061f26
jl 0x10061f39
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + 0x1c]
mov esi, dword [esp + 0x28]
add esi, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], esi
mov esi, dword [ecx + 0x18]
inc eax
cmp eax, esi
mov dword [esp + 0x24], eax
jl 0x10061ee0
jmp 0x10061f5d
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x28]
cmp byte [ecx + eax + 2], 0
je 0x10062875
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + 0x1c]
mov edi, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
sub edx, edi
imul edx, eax
push edx
push ecx
add eax, ecx
push eax
call fcn.10068e40
add esp, 0xc
mov esi, dword [esp + 0xa8]
mov edx, dword [esi]
mov eax, dword [esp + 0x28]
inc edx
sar edx, 8
mov byte [eax], dl
mov cl, byte [esi]
mov edx, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
inc cl
mov byte [eax + 1], cl
mov ecx, edx
mov ebp, ecx
shr ecx, 2
lea edi, [eax + 2]
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [edx + eax + 2], 0
mov eax, dword [esp + 0xc4]
inc dword [eax + 0x18]
mov eax, dword [esp + 0xa8]
mov esi, dword [eax]
inc esi
mov ecx, esi
cmp ecx, 0x96
mov dword [eax], esi
jle 0x100622c4
mov byte [ebx + 3], 0x4b
mov edx, dword [eax]
sar edx, 8
mov byte [ebx + 4], dl
mov al, byte [eax]
mov dword [esp + 0x48], 0xe3
mov byte [ebx + 5], al
mov dword [esp + 0x20], 3
jmp 0x100622cb
cmp al, 0x3d
je 0x10061fed
cmp al, 0x3e
jne 0x100622cd
movzx edx, al
mov eax, dword [esp + 0xc4]
mov edi, dword [eax + 0x14]
inc ebp
mov dword [esp + 0x10], ebp
cmp byte [ebp], 0x29
mov dword [esp + 0x90], edx
mov dword [esp + 0x3c], ebp
je 0x1006201b
inc ebp
mov dword [esp + 0x10], ebp
cmp byte [ebp], 0x29
jne 0x10062010
mov ecx, dword [esp + 0x3c]
mov esi, ebp
sub esi, ecx
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + 0x18]
test eax, eax
mov dword [esp + 0x24], 0
jle 0x10062070
mov ebp, dword [esp + 0x24]
lea ecx, [ecx]
mov eax, dword [esp + 0x3c]
push esi
lea edx, [edi + 2]
push edx
push eax
call fcn.1006ba90
add esp, 0xc
test eax, eax
je 0x1006206c
mov eax, dword [esp + 0xc4]
add edi, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
inc ebp
cmp ebp, ecx
mov dword [esp + 0x24], ebp
jl 0x10062040
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0x24]
cmp ecx, dword [edx + 0x18]
jge 0x10062898
movzx ecx, byte [edi + 1]
cmp dword [esp + 0x90], 0x3e
mov ch, byte [edi]
je 0x10062118
mov byte [ebx], 0x3a
mov dword [esp + 0x18], ebx
inc ebx
mov eax, ecx
sar eax, 8
mov byte [ebx], al
mov byte [ebx + 1], cl
add ebx, 2
cmp ecx, 0x20
mov dword [esp + 0x14], ebx
mov eax, 1
jge 0x100620bd
shl eax, cl
mov edx, dword [esp + 0xc4]
mov esi, dword [edx + 0x24]
or esi, eax
cmp ecx, dword [edx + 0x20]
mov dword [edx + 0x24], esi
jle 0x10060eac
mov ebp, dword [esp + 0x10]
mov dword [edx + 0x20], ecx
mov edx, dword [esp + 0x44]
inc ebp
xor ecx, ecx
jmp 0x10060e14
inc ebp
mov dword [esp + 0x10], ebp
movzx eax, byte [ebp]
mov dl, 4
xor ecx, ecx
test byte [eax + 0x10086128], dl
je 0x10062118
lea ecx, [ecx]
inc ebp
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2 - 0x30]
mov dword [esp + 0x10], ebp
movzx eax, byte [ebp]
test byte [eax + 0x10086128], dl
jne 0x10062100
test ecx, ecx
mov dword [esp + 0x18], ebx
mov byte [ebx], 0
jne 0x10062133
mov esi, dword [esp + 0xc4]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x24], eax
jmp 0x1006214f
mov edx, dword [esp + 0xc4]
mov eax, dword [edx + 0x10]
mov esi, ecx
call fcn.10060b20
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x24], eax
test eax, eax
je 0x100628bb
xor ecx, ecx
mov ch, byte [eax + 1]
mov cl, byte [eax + 2]
test ecx, ecx
jne 0x10062185
push eax
mov eax, dword [esp + 0xc4]
xor edi, edi
call fcn.10060cc0
add esp, 4
test eax, eax
jne 0x100628cd
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x14]
mov byte [ebx], 0x3b
mov ebp, dword [esi + 0x10]
mov edx, eax
sub edx, ebp
sar edx, 8
mov byte [ebx + 1], dl
mov cl, byte [esi + 0x10]
mov edx, dword [esp + 0x44]
sub al, cl
mov byte [ebx + 2], al
mov ebp, dword [esp + 0x10]
add ebx, 3
inc ebp
mov dword [esp + 0x14], ebx
xor ecx, ecx
jmp 0x10060e14
xor esi, esi
cmp cl, 0x29
mov dword [esp + 0x3c], esi
mov dword [esp + 0x24], esi
lea eax, [esp + 0x24]
je 0x10062229
cmp cl, 0x3a
je 0x10062229
movzx ecx, cl
inc ebp
sub ecx, 0x2d
cmp ecx, 0x4b
mov dword [esp + 0x10], ebp
ja case.0x100621e3.46
movzx ecx, byte [ecx + 0x10062a54]
jmp dword [ecx*4 + 0x10062a34]
lea eax, [esp + 0x3c]
jmp case.0x100621e3.46
mov ecx, dword [eax]
or ecx, 1
jmp 0x1006221b
mov ecx, dword [eax]
or ecx, 2
jmp 0x1006221b
mov ecx, dword [eax]
or ecx, 4
jmp 0x1006221b
mov ecx, dword [eax]
or ecx, 8
jmp 0x1006221b
mov ecx, dword [eax]
or ecx, 0x200
jmp 0x1006221b
mov ecx, dword [eax]
or ecx, 0x40
mov dword [eax], ecx
mov cl, byte [ebp]
cmp cl, 0x29
mov esi, dword [esp + 0x24]
jne 0x100621c7
mov eax, dword [esp + 0x3c]
mov cl, byte [ebp]
or esi, edx
not eax
and esi, eax
cmp cl, 0x29
mov eax, esi
mov dword [esp + 0x60], eax
jne 0x100622a2
mov ecx, eax
xor ecx, edx
test cl, 7
je 0x1006225e
mov byte [ebx], 0xf
mov dl, al
inc ebx
and dl, 7
mov byte [ebx], dl
mov ebp, dword [esp + 0x10]
inc ebx
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0xa4]
mov dword [ecx], eax
mov ecx, eax
shr ecx, 9
and ecx, 1
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x44]
and eax, 1
mov dword [esp + 0x94], ecx
xor ecx, 1
shl eax, 8
mov dword [esp + 0x98], ecx
inc ebp
mov dword [esp + 0x58], eax
mov dword [esp + 0x18], 0
xor ecx, ecx
jmp 0x10060e14
inc ebp
mov dword [esp + 0x48], 0x4c
mov dword [esp + 0x10], ebp
jmp 0x100622cb
test dh, 0x10
je 0x10061fa1
mov dword [esp + 0x48], 0x4c
jmp 0x100622cb
add ecx, 0x4c
mov dword [esp + 0x48], ecx
xor esi, esi
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xc4]
xor eax, eax
cmp ecx, 0x46
setl al
mov byte [ebx], cl
mov ebp, dword [edx + 0x28]
mov dword [esp + 0x50], ebx
dec eax
and eax, ebx
cmp ecx, 0x43
mov dword [esp + 0x18], eax
je 0x100622fe
cmp ecx, 0x44
je 0x100622fe
xor eax, eax
jmp 0x10062303
mov eax, 1
mov ecx, dword [esp + 0xc0]
mov esi, dword [esp + 0xb4]
push edx
push ecx
lea edx, [esp + 0x94]
push edx
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0xa8]
push ecx
push edx
mov edx, dword [esp + 0xbc]
push eax
push esi
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x64]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x84]
push edx
and eax, 7
push eax
push ecx
call fcn.10062aa0
add esp, 0x30
test eax, eax
je 0x10062790
mov edi, dword [esp + 0x48]
cmp edi, 0x47
jne 0x1006239f
xor eax, eax
xor edx, edx
mov dh, byte [ebx + 1]
inc eax
mov dl, byte [ebx + 2]
mov cl, byte [ebx + edx]
add ebx, edx
cmp cl, 0x3e
jne 0x10062367
cmp eax, 2
jg 0x100628df
cmp eax, 1
jne 0x1006239f
mov ecx, 0xffffffff
or eax, ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x9c], eax
jmp 0x100623ad
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x9c]
cmp edi, 0x4c
mov edx, dword [esp + 0x34]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x88], 0
jge 0x100623de
cmp edi, 0x46
je 0x100623de
cmp edi, 0x47
je 0x100623de
cmp edi, 0x41
jne 0x1006242d
jmp 0x10062425
cmp edx, 0xfffffffe
jne 0x10062412
test eax, eax
jl 0x10062400
mov dword [esp + 0x30], eax
mov dword [esp + 0x88], 1
mov dword [esp + 0x4c], 0xffffffff
jmp 0x10062425
mov dword [esp + 0x30], 0xffffffff
mov dword [esp + 0x4c], 0xffffffff
jmp 0x10062425
test eax, eax
jl 0x10062425
test ecx, ecx
jge 0x10062429
or eax, ebp
mov ecx, eax
mov dword [esp + 0x8c], ecx
test ecx, ecx
jl 0x1006242d
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x14], eax
cmp byte [ebp], 0x29
jne 0x100628ea
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
inc ebp
xor ecx, ecx
jmp 0x10060e14
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xa8]
mov eax, dword [edx]
push esi
push ecx
push eax
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x74], ebp
call fcn.10060560
add esp, 0x10
cmp eax, esi
jge 0x10062545
mov ecx, eax
neg ecx
cmp ecx, 0x10
jne 0x100624bf
mov ebp, dword [esp + 0x10]
cmp byte [ebp + 1], 0x5c
jne 0x100624ab
cmp byte [ebp + 2], 0x45
jne 0x100624ab
mov edx, dword [esp + 0x44]
add ebp, 2
inc ebp
xor ecx, ecx
jmp 0x10060e14
mov edx, dword [esp + 0x44]
inc ebp
mov dword [esp + 0x54], 1
xor ecx, ecx
jmp 0x10060e14
mov edx, dword [esp + 0x30]
cmp edx, 0xfffffffe
jne 0x100624d9
cmp ecx, 4
jle 0x100624d9
cmp ecx, 0xd
jge 0x100624d9
or edx, 0xffffffff
mov dword [esp + 0x30], edx
cmp ecx, 0x11
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x40], edx
jl 0x1006251a
mov edx, dword [esp + 0x44]
mov ecx, 0xffffffef
sub ecx, eax
mov byte [ebx], 0x3a
mov eax, ecx
mov dword [esp + 0x18], ebx
inc ebx
sar eax, 8
mov byte [ebx + 1], cl
mov byte [ebx], al
mov ebp, dword [esp + 0x10]
add ebx, 2
inc ebp
mov dword [esp + 0x14], ebx
xor ecx, ecx
jmp 0x10060e14
cmp ecx, 4
jle 0x10062528
cmp ecx, 0xd
mov dword [esp + 0x18], ebx
jl 0x1006252c
mov dword [esp + 0x18], esi
mov edx, dword [esp + 0x44]
neg al
mov byte [ebx], al
mov ebp, dword [esp + 0x10]
inc ebx
inc ebp
mov dword [esp + 0x14], ebx
xor ecx, ecx
jmp 0x10060e14
mov dword [esp + 0x10], ebp
mov dword [esp + 0x1c], 0x5c
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xc4]
lea esi, [ebx + 2]
mov byte [ebx], 0x12
mov eax, dword [esp + 0x10]
mov ebp, esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], ebp
xor ebx, ebx
mov edi, dword [esp + 0x54]
test edi, edi
je 0x1006259c
cmp ecx, 0x5c
jne 0x10062597
cmp byte [eax + 1], 0x45
jne 0x10062597
inc eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x10], eax
jmp 0x10062618
mov byte [ebp], cl
jmp 0x1006260e
test byte [esp + 0x44], 8
je 0x100625c8
mov edi, dword [edx + 0xc]
test byte [ecx + edi], 1
jne 0x10062618
cmp ecx, 0x23
jne 0x100625c8
inc eax
mov dword [esp + 0x10], eax
movzx ecx, byte [eax]
test ecx, ecx
je 0x1006263f
cmp ecx, 0xa
jne 0x100625b1
jmp 0x10062618
cmp ecx, 0x5c
jne 0x10062607
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xa8]
mov edi, eax
mov eax, dword [edx]
push 0
push ecx
push eax
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x74], edi
call fcn.10060560
mov edx, dword [esp + 0xd4]
add esp, 0x10
test eax, eax
mov dword [esp + 0x1c], eax
jl 0x1006263b
mov al, byte [esp + 0x1c]
mov byte [ebp], al
mov eax, dword [esp + 0x10]
inc ebp
mov dword [esp + 0x14], ebp
inc ebx
cmp ebx, 0xfa
jge 0x1006263f
mov edi, dword [edx + 0xc]
inc eax
mov dword [esp + 0x10], eax
movzx ecx, byte [eax]
test byte [ecx + edi], 0x80
mov dword [esp + 0x1c], ecx
je 0x10062572
jmp 0x1006263f
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x30]
cmp eax, 0xfffffffe
jne 0x10062696
cmp ebx, 1
movzx eax, byte [esi]
jne 0x1006266a
or eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], ecx
jmp 0x100626cd
mov ecx, dword [esp + 0x58]
or eax, ecx
cmp ebx, 2
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], eax
jle 0x1006268c
movzx eax, byte [ebp - 2]
or eax, dword [edx + 0x28]
or eax, ecx
mov dword [esp + 0x40], eax
jmp 0x100626c0
mov eax, dword [esp + 0x34]
mov dword [esp + 0x40], eax
jmp 0x100626c0
cmp ebx, 1
mov dword [esp + 0x4c], eax
jne 0x100626a9
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x40], ecx
jmp 0x100626bc
movzx eax, byte [ebp - 2]
mov esi, dword [edx + 0x28]
mov ecx, dword [esp + 0x58]
or eax, esi
or eax, ecx
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x58]
movzx eax, byte [ebp - 1]
or eax, dword [edx + 0x28]
or eax, ecx
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x18]
mov byte [edx + 1], bl
cmp ebx, 0xfa
mov ebx, dword [esp + 0x14]
jge 0x10060eac
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x44]
dec ebp
inc ebp
xor ecx, ecx
jmp 0x10060e14
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xbc]
mov dword [eax], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xac]
mov dword [edx], eax
mov edx, dword [esp + 0xb0]
pop edi
mov dword [ecx], ebx
pop esi
mov dword [edx], ebp
pop ebp
mov eax, 1
pop ebx
add esp, 0x90
ret
cmp byte [ebp + 1], 0x3a
mov eax, str.POSIX_named_classes_are_supported_only_within_a_class
je 0x10062741
mov eax, str.POSIX_collating_elements_are_not_supported
mov ecx, dword [esp + 0xb4]
mov dword [ecx], eax
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
mov dword [ecx], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
mov dword [edx], str.POSIX_collating_elements_are_not_supported
mov dword [ecx], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov eax, dword [esp + 0xb4]
mov dword [eax], str.unknown_POSIX_class_name
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
mov dword [ecx], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov ecx, dword [esp + 0xb0]
pop edi
mov dword [esi], str.invalid_escape_sequence_in_character_class
pop esi
mov dword [ecx], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov ecx, dword [esp + 0xb4]
pop edi
mov dword [ecx], str.range_out_of_order_in_character_class
mov ecx, dword [esp + 0xac]
pop esi
mov dword [ecx], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
mov dword [edx], str.nothing_to_repeat
mov dword [ecx], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
pop edi
mov dword [eax], str.internal_error:_unexpected_repeat
pop esi
mov dword [ecx], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov ecx, dword [esp + 0xb4]
pop edi
mov dword [ecx], str.invalid_condition____0_
mov ecx, dword [esp + 0xac]
pop esi
mov dword [ecx], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov edx, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
mov dword [edx], str.number_after___C_is___255
mov dword [ecx], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb0]
pop edi
mov dword [eax], str.two_named_groups_have_the_same_name
pop esi
mov dword [ecx], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov ecx, dword [esp + 0xb4]
pop edi
mov dword [ecx], str.reference_to_non_existent_subpattern
mov ecx, dword [esp + 0xac]
pop esi
mov dword [ecx], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret
mov edx, dword [esp + 0xb4]
mov dword [edx], str.reference_to_non_existent_subpattern
jmp 0x10062790
mov eax, dword [esp + 0xb4]
mov dword [eax], str.recursive_call_could_loop_indefinitely
jmp 0x10062790
mov dword [esi], str.conditional_group_contains_more_than_two_branches
jmp 0x10062790
mov ecx, dword [esp + 0xb0]
pop edi
mov dword [esi], str.missing__
pop esi
mov dword [ecx], ebp
pop ebp
xor eax, eax
pop ebx
add esp, 0x90
ret